[置顶] Android学习计划
一个计划
在我所认知的 Android 开发中,可以大致分为如下几部分,分别如下:
系统服务,亦即系统提供的底层功能,主要涵盖 ActivityManagerServices 、WindowManagerService 、SystemServer 等等
应用组件,Android 是基于组件进行的开发系统。众所周知的四大组件Activity 、Services 、Broadcast 、ContentProvider。几乎所有 Android 程序都是由这 4 大组件通过通信框架进行内部串联,并与系统服务进行通信,从而得到具有特定功能的应用。
通信框架,这里主要是指进程间通信 和 线程间通信两大部分。有Binder和Handler。
UI框架,这里会包括Surface机制(阐述Activity、Window和View的关系)以及View和动画的工作原理
Dalvik和ART虚拟机,注重内存管理、垃圾收集、即时编译、Java本地调用、GC、进程和线程管理等。
安全机制,一共有SO注入/加壳、C/C++函数GOT拦截/INLINE拦截、DEX注入/加壳、Java函数拦截,这七种
防反编译,三种APK防反编译技术:1)添加非法指令;2)隐藏敏感代码;3)伪APK加密技术。此外,还有Dex和Native加壳技术来防止别人反编译我们的APK。
开源架构
拟定的目录如下:
系统服务篇
Android 应用进程安装流程
Android 应用进程显示流程
什么是系统服务
ActivityManagerServices
SystemServer
WindowManagerService
Zoyote 前世今生
应用组件篇
Application 是什么?
Context 是什么?
Activity 组件分析
Services 组件分析
ContentProvider 组件分析
Broadcast 组件分析
通信框架篇
Binder
Handler
UI框架篇
Surface机制
View的工作原理
动画的工作原理
虚拟机篇
Dalvik
ART
安全机制篇
- TODO
防反编译篇
- TODO
开源架构篇
- TODO
更多相关文章
- Android(安卓)开发学习笔记(一)—— 四大组件
- Android(安卓)Intent 基本使用及对象构成
- android hessian通信
- Android学习笔记(24):进度条组件ProgressBar及其子类
- 详解React Native开源时间日期选择器组件(react-native-datetime
- android用户界面-组件Widget-网格视图GridView
- ListView的Item中CheckBox焦点优先于ListView的问题
- android自定义View、ViewGroup
- Android(安卓)socket通信 真机io错误 模拟器正常的原因