话说,搬砖这么久了,无论是知识的广度还是深度上都还是依托于App。现在都在卷基础,那么什么是基础,基础包括很多东西,比如算法,比如FrameWork。
而app 如何启动,涉及到的知识点就蛮多的,比如说,如何从apk里面获取到的activity,为什么4大组件不写进AndroidManifest 文件就会报错,这个就涉及到PMS,如何启动一个application,如何启动一个activity就是AMS,我们拿到activity对象,如何将view 绘制到window 上就涉及到WMS,其中还有很多知识点,比如说,资源文件通过id获取,多个dex文件如何进行类加载,比如说app工程如何合并成一个apk文件。当我们把这一系列流程跑通了之后,就会发现,很多所谓的黑科技,如换肤、热修复、热更新、加固、编译时技术等等就很好理解,都是基于这一套思维架子进行处理。
所以,我们先从最简单的入手。
这个每更新一篇,都更新一次。先写第一版,后续再填充内容。
binder 进程间通信
PMS
PMS可以说是Android 应用得以启动的数据提供者。
handdler 消息通信
AMS
负责创建appliction,activity,服务等,并管理其生命周期。
WMS
这个负责将activity 或者app 的UI层渲染到屏幕上。
资源加载
这个可以做换肤,换主题啥的,当然热修复、热更新、都需要用到他,只要涉及到通过外部dex 导入执行的都需要。
类加载器
这是外部dex 可以被执行的关键点。