Android学习计划
一个计划
在我所认知的 Android 开发中,可以大致分为如下几部分,分别如下:
-
系统服务,亦即系统提供的底层功能,主要涵盖 ActivityManagerServices 、WindowManagerService 、SystemServer 等等
-
应用组件,Android 是基于组件进行的开发系统。众所周知的四大组件Activity 、Services 、Broadcast 、ContentProvider。几乎所有 Android 程序都是由这 4 大组件通过通信框架进行内部串联,并与系统服务进行通信,从而得到具有特定功能的应用。
-
通信框架,这里主要是指进程间通信 和 线程间通信两大部分。有Binder和Handler。
-
UI框架,这里会包括Surface机制(阐述Activity、Window和View的关系)以及View和动画的工作原理
-
专用驱动, Android专用驱动构成了Android运行时的基石。从技术上来讲,Android专用驱动也是整个Android系统的亮点,特别是Binder驱动。一共三种专用驱动Logger、Binder和Ashmem
-
Dalvik和ART虚拟机,注重内存管理、垃圾收集、即时编译、Java本地调用、GC、进程和线程管理等。
-
安全机制,一共有SO注入/加壳、C/C++函数GOT拦截/INLINE拦截、DEX注入/加壳、Java函数拦截,这七种
-
防反编译,三种APK防反编译技术:1)添加非法指令;2)隐藏敏感代码;3)伪APK加密技术。此外,还有Dex和Native加壳技术来防止别人反编译我们的APK。
-
开源架构
拟定的目录如下:
系统服务篇
-
Android 应用进程安装流程
-
Android 应用进程显示流程
-
什么是系统服务
-
-
SystemServer
-
WindowManagerService
-
Zoyote 前世今生
应用组件篇
-
Application 是什么?
-
Context 分析
-
Activity 组件分析
-
Services 组件分析
-
ContentProvider 组件分析
-
Broadcast 组件分析
通信框架篇
-
Binder
-
Handler
UI框架篇
-
Surface机制
-
View的工作原理
-
动画的工作原理
专用驱动篇
-
Binder
-
Logger
-
Ashmem
虚拟机篇
-
Dalvik
-
ART
安全机制篇
-
待续
防反编译篇
-
TODO
开源架构篇
-
TODO

浙公网安备 33010602011771号