Android

Android StateMachine 状态机分析

之前就有写过一篇文章来学习状态机:状态机学习。 在之后的工作中多次用到了 StateMachine 状态机,简单记录其原理。
2017-12-22
5 min read

Android LruCache实现分析

LruCache 是安卓开发中常用到的缓存技术,LRU 的全名是 Least Recently Used,表示最近最少使用算法,也就是说当内存快到达阈值时,若某个对象最近很少使用的,那么它就会被回收掉以释放内存。
2017-12-22
4 min read

Android Activity 创建 Window 及添加 View 流程分析

在之前有分析过 Android 6.0 Launcher 启动 Activity 过程,文章的链接如下: Android 6.0 Launcher 启动 Activity 过程源码分析(一) Android 6.0 Launcher 启动 Activity 过程源码分析(二) Android 6.0 Launcher 启动 Activity 过程源码分析(三) Android 6.0 Launcher 启动 Activity 过程源码分析(四)
2017-12-22
6 min read

Android 系统服务启动 SystemServer

在之前 Android 系统服务管理 ServiceManager 中学习了各种系统服务 Service 都是通过 ServiceManager 来管理的,从 ServiceManager 中来获得系统服务的 Binder 对象引用。这内容涉及到了 ContextImpl 类、SystemServiceRegistry 类、ServiceManager 类、ServiceManagerNative 类等等。 那么问题就来了,ServiceManager 所管理的那些 Service 的 Binder 对象引用又是何时注册添加的呢? 事实上这些服务 Service 是 SystemServer 进程中启动的。
2017-12-22
4 min read

Android 系统服务管理 ServiceManager

在应用程序编程时,经常使用到 getSystemService(String serviceName) 方法来获得一个系统服务,它的实现也是在 ContextImpl 中的,根据不同的参数返回不同的系统服务,这些系统服务都是由 ServiceManager 管理的。
2017-12-22
3 min read

Android Material Desing 控件小结-2

总结一下 Material Design 控件使用。
2017-12-22
3 min read

Android Material Desing 控件小结-1

总结一下 Material Design 控件使用。
2017-12-22
2 min read

Android Binder 小结

Binder 是什么?在英文中 Binder 是 粘合剂 的意思,表示将两样东西粘在一起。而在 Android 开发中,Binder 的意思多了去了。不同的角度有着不同的解释。 它既可以是 Android 中实现了 IBinder 接口的一个单纯的类,也可以是 Android 中进程跨进程通信(IPC)的一种方式,还可以看作是工作在内核态的 Linux 驱动 /dev/binder。
2017-12-22
5 min read

Dagger2 在 Android 中的使用

Dagger2 是一个进行依赖注入的框架,早先是由 Square 公司写的,后来由 Google 来维护了,能由 Google 亲自维护的东西,肯定值得学习。
2017-12-22
8 min read

Android 6.0 Launcher 启动 Activity 过程分析小结(四)

在如下三篇文章中过了一遍 Launcher 启动 Activity 的代码流程。 Android 6.0 Launcher 启动 Activity 过程源码分析(一) Android 6.0 Launcher 启动 Activity 过程源码分析(二) Android 6.0 Launcher 启动 Activity 过程源码分析(三) 然而, 即使看过了多遍代码流程依旧有点云里雾里的感觉。不从整体上来把握,光抓住细节代码会始终不得要领。 由于是从 Launcher 组件启动一个 Activity 组件,其中还需要与 ActivityManagerService 通信,而这三个部分都是位于不同的进程内,涉及进程间通信,因此可以将整个过程划分为三个不同的部分来分析,在 Launcher 进程内的操作,在 ActivityManagerService 进程内的操作,在创建的应用程序进程内的操作。
2017-12-22
6 min read