音视频开发进阶
文章
Light
Dark
Auto
Android
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
Android 系统服务启动 SystemServer
在之前 Android 系统服务管理 ServiceManager 中学习了各种系统服务 Service 都是通过 ServiceManager 来管理的,从 ServiceManager 中来获得系统服务的 Binder 对象引用。这内容涉及到了 ContextImpl 类、SystemServiceRegistry 类、ServiceManager 类、ServiceManagerNative 类等等。 那么问题就来了,ServiceManager 所管理的那些 Service 的 Binder 对象引用又是何时注册添加的呢? 事实上这些服务 Service 是 SystemServer 进程中启动的。
2017-12-22
4 min read
Android
Android 系统服务管理 ServiceManager
在应用程序编程时,经常使用到 getSystemService(String serviceName) 方法来获得一个系统服务,它的实现也是在 ContextImpl 中的,根据不同的参数返回不同的系统服务,这些系统服务都是由 ServiceManager 管理的。
2017-12-22
3 min read
Android
Android Material Desing 控件小结-2
总结一下 Material Design 控件使用。
2017-12-22
3 min read
Android
Android Material Desing 控件小结-1
总结一下 Material Design 控件使用。
2017-12-22
2 min read
Android
Android Binder 小结
Binder 是什么?在英文中 Binder 是 粘合剂 的意思,表示将两样东西粘在一起。而在 Android 开发中,Binder 的意思多了去了。不同的角度有着不同的解释。 它既可以是 Android 中实现了 IBinder 接口的一个单纯的类,也可以是 Android 中进程跨进程通信(IPC)的一种方式,还可以看作是工作在内核态的 Linux 驱动 /dev/binder。
2017-12-22
5 min read
Android
Dagger2 在 Android 中的使用
Dagger2 是一个进行依赖注入的框架,早先是由 Square 公司写的,后来由 Google 来维护了,能由 Google 亲自维护的东西,肯定值得学习。
2017-12-22
8 min read
Android
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
Android
Android 6.0 Launcher 启动 Activity 过程源码分析(三)
在 Android 6.0 Launcher 启动 Activity 过程源码分析(二) 分析完了对待启动 Activity 组件的验证过程,获得组件信息,以及 ActivityRecord 添加至栈顶,将其他 Activity 进入中止状态,最后将待启动的 Activity 组件进入 Resumed状态,然而,由于待启动的 Activity 组件的应用程序进程尚未启动,最后执行 startSpecificActivityLocked方法创建进程。
2017-12-22
11 min read
Android
Android 6.0 Launcher 启动 Activity 过程源码分析(二)
在 Android 6.0 Launcher 启动 Activity 过程源码分析(一) 分析完了 Launcher 组件中启动的步骤,接下来的环节是该 ActivityManagerService 出场了。 通过 ActivityManagerNative.getDefault() 方法得到 ActivityManagerService 的代理对象后执行的 startActivity 方法,最终会发起进程间通信请求,通过 Binder 驱动,再调用 ActivityManagerService 中对应的方法。
2017-12-22
9 min read
Android
««
«
1
2
3
4
5
»
»»