自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HansChen的博客

博观而约取,厚积而薄发

原创 使用 Ninja 提升模块编译速度

1. 简介 从 Android 7 开始,Android 源码编译时默认使用 Ninja,编译时,会先把 makefile 和 bp 转换成 ninja 再进行编译。这个转换过程非常慢(需要遍历处理所有关联的 makefile、bp 文件),即使只是通过 mm 或 mmm 编译某个模块,也会有很多...

2019-12-10 18:31:28 172 0

原创 Android Q 深色模式(Dark Mode)源码解析

1. 简介 随着 Android Q 发布,「黑暗模式」或者说是「夜间模式」终于在此版本中得到了支持,官方介绍见:https://developer.android.com/guide/topics/ui/look-and-feel/darktheme,再看看效果图: 其实这个功能魅族在两年前就...

2019-10-22 09:59:33 3378 0

原创 如何顺滑地查看 Android Native 代码

1. 简介 使用 Android Studio 查看 Android Framework 代码体验非常好,无论是索引还是界面都让人很满意,但是当你跟踪代码,发现进入 native 逻辑时,就会发现 Android Studio 对 native 代码的支持非常不好,不能索引不支持符号搜索不能跳转等...

2019-10-22 09:58:16 566 0

原创 AOSP 编译和烧写

1. 简介 很多 Android 开发者都会希望编译 Android 源码并刷进自己的手机里面,但网上教程很多都仅仅是告诉你 lunch、make 等等,但你手里有一台设备时却发现,你编译出的镜像由于驱动关系是不能直接烧进手机的。这里整理了一下步骤,帮助大家可以按照流程编译并烧写镜像。 本篇文章以...

2019-10-22 09:55:57 252 0

原创 Protocol Buffers 3.0 技术手册

转载请标明出处:http://blog.csdn.net/shensky711/article/details/69696392 本文出自: 【HansChen的博客】 简介 proto3语法 定义一个 Message 定义多个 message 类型 定义变量类型 分配Tag ...

2017-04-08 18:15:27 15533 0

原创 设计模式之装饰模式

转载请标明出处:http://blog.csdn.net/shensky711/article/details/59185950 本文出自: 【HansChen的博客】 概述 情景举例 丑陋的实现 装饰模式 概念介绍 用装饰模式实现需求 装饰模式的应用举例 总结概述装饰模式(Decorato...

2017-03-09 16:34:41 406 0

原创 设计模式之桥接模式

转载请标明出处:http://blog.csdn.net/shensky711/article/details/53891127 本文出自: 【HansChen的博客】 场景问题 发送消息 不用模式的解决方案 实现简化版本 实现发送加急消息 有何问题 继续添加特急消息的处理 继续添加发送手机...

2017-03-01 22:55:53 443 0

原创 设计模式之代理模式

转载请标明出处:http://blog.csdn.net/shensky711/article/details/53891127 本文出自: 【HansChen的博客】 概述 代理模式 UML图 代码 远程代理 延迟加载 保护代理 额外功能 静态代理和动态代理 概述我们执行一个功能的函数时,...

2016-12-27 00:14:42 475 0

原创 依赖注入利器 - Dagger ‡

转载请标明出处:http://blog.csdn.net/shensky711/article/details/53715960 本文出自: 【HansChen的博客】 概述 声明需要注入的对象 如何实例化出依赖 Module的使用 Component的使用 Dagger的进阶使用 Comp...

2016-12-17 22:53:36 2501 0

原创 Robolectric使用教程

转载请标明出处:http://blog.csdn.net/shensky711/article/details/53561172 本文出自: 【HansChen的博客】 概述 如何使用 为项目添加依赖 指定RobolectricTestRunner为运行器 什么是Shadow类 Config...

2016-12-10 21:24:32 8314 7

原创 设计模式之模板方法模式和策略模式

转载请标明出处:http://blog.csdn.net/shensky711/article/details/53418034 本文出自: 【HansChen的博客】 设计模式系列文章: 设计模式之工厂模式 设计模式之模板方法模式和策略模式概述我们知道,OOP三个基本特征是:封装、继承...

2016-12-01 08:50:32 11812 1

原创 设计模式之工厂模式(Factory)

转载请标明出处:http://blog.csdn.net/shensky711/article/details/53348412 本文出自: 【HansChen的博客】 设计模式系列文章: 设计模式之工厂模式 设计模式之模板方法模式和策略模式概述根据依赖倒置原则,我们知道,我们应优先依赖...

2016-11-26 09:51:22 670 0

原创 Fragment源码分析

转载请标明出处:http://blog.csdn.net/shensky711/article/details/53171248 本文出自: 【HansChen的博客】 概述Fragment表示 Activity 中的行为或用户界面部分。您可以将多个 Fragment 组合在一个 Activ...

2016-11-15 14:54:44 1538 1

原创 Fragment事务管理源码分析

转载请标明出处:http://blog.csdn.net/shensky711/article/details/53132952 本文出自: 【HansChen的博客】 概述在Fragment使用中,有时候需要对Fragment进行add、remove、show、hide、replace等操...

2016-11-11 20:43:57 4796 1

原创 java动态代理

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52872249 本文出自: 【HansChen的博客】 概述动态代理是java的一大特性,动态代理的优势就是实现无侵入式的代码扩展。它可以增强我们原有的方法,比如常用的日志监控,...

2016-10-20 14:24:51 914 1

原创 Android分包MultiDex源码分析

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52845661 本文出自: 【HansChen的博客】 概述Android开发者应该都遇到了64K最大方法数限制的问题,针对这个问题,google也推出了multidex分包机制...

2016-10-18 08:14:42 3697 7

原创 JNI教程与技术手册

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52806794 本文出自: 【HansChen的博客】 概述对于JNI,有些童鞋在没有接触过的时候,可能会觉得比较复杂,但是其实当你真正去了解、去使用的时候,就会发现JNI的使用...

2016-10-13 14:38:51 15842 2

原创 MockWebServer使用指南

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52771797 本文出自: 【HansChen的博客】 MockWebServer介绍 MockWebServer能帮我们做什么 MockWebServer不能帮我们做什么 Mo...

2016-10-09 22:59:47 6264 0

原创 Mockito使用指南

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52771493 本文出自: 【HansChen的博客】 mock和Mockito的关系 Mockito使用举例 Android Studio工程配置Mockito Mockito...

2016-10-09 22:43:25 25794 4

原创 ProGuard代码混淆详细攻略

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52770993 本文出自: 【HansChen的博客】 ProGuard简介和工作流程 PrgGuard环境配置和使用 运行PrgGuard需要以下依赖 如何运行ProGuard...

2016-10-09 21:59:48 17329 1

原创 Mock Server利器 - Moco

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52770686 本文出自: 【HansChen的博客】 Moco介绍 Moco独立运行所需环境 如何运行Moco 启动http服务 启动https服务 Moco HTTPs AP...

2016-10-09 21:24:24 17951 6

原创 Android Studio 2.2 NDK开发环境搭建

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52763192 本文出自: 【HansChen的博客】 Android应用程序使用NDK的意义在这里就不说了,本文主要讲解如何在Android Studio 2.2下如何一步步搭...

2016-10-09 08:47:15 12392 1

原创 Lua和C交互的简易教程

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52458051 本文出自: 【HansChen的博客】 Lua栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟...

2016-09-07 11:36:49 4516 0

原创 Lua快速入门

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52370850 本文出自: 【HansChen的博客】 什么是LuaLua 是一门强大、快速、轻量的嵌入式脚本语言。它由巴西里约热内卢 Pontifical Catholic 大...

2016-08-30 16:52:39 925 0

原创 Android最大方法数和解决方案

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52329035 本文出自: 【HansChen的博客】 什么是64K限制和LinearAlloc限制64K限制随着Android应用功能的增加,代码量不断地增大,当应用方法数量超...

2016-08-26 15:36:56 7251 0

原创 Makefile使用指南

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52231202 本文出自: 【HansChen的博客】 什么是MakefileMakefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编...

2016-08-17 15:15:36 1099 0

原创 利用keytool、openssl生成证书文件

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52225073 本文出自: 【HansChen的博客】 用openssl指令逐步生成各个文件 生成服务器密钥:openssl genrsa -out server_private...

2016-08-16 21:06:27 2552 1

原创 https安全在哪里,原理是什么?

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52214842 本文出自: 【HansChen的博客】 Https通信基本过程在通信过程中,https是如何保证通信的安全的?如何加密信息,如何防止中间人攻击? 以下是客户端发...

2016-08-15 21:19:27 4489 2

原创 Git使用和介绍-基础指令

转载请标明出处:http://blog.csdn.net/shensky711/article/details/52210625 本文出自: 【HansChen的博客】 查看已有配置 取消已有的配置 设置用户名 设置代理 文件状态 如何创建代码仓库 忽略某些文件 查看已暂存和未暂存的更新 提...

2016-08-15 14:02:07 732 0

提示
确定要删除当前文章?
取消 删除