一个计划

在我所认知的 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

更多相关文章

  1. Android(安卓)开发学习笔记(一)—— 四大组件
  2. Android(安卓)Intent 基本使用及对象构成
  3. android hessian通信
  4. Android学习笔记(24):进度条组件ProgressBar及其子类
  5. 详解React Native开源时间日期选择器组件(react-native-datetime
  6. android用户界面-组件Widget-网格视图GridView
  7. ListView的Item中CheckBox焦点优先于ListView的问题
  8. android自定义View、ViewGroup
  9. Android(安卓)socket通信 真机io错误 模拟器正常的原因

随机推荐

  1. MySQL自增ID耗尽实例讲解
  2. MySQL存储时间类型选择的问题讲解
  3. MySQL使用命令创建、删除、查询索引的介
  4. SQL联合查询inner join、outer join和cro
  5. MySQL中decimal类型用法的简单介绍
  6. Mysql将一个表中的某一列数据复制到另一
  7. 如何提高MySQL Limit查询性能的方法详解
  8. Mysql主从数据库(Master/Slave)同步配置
  9. Mysql Explain命令的使用与分析
  10. Mysql中SQL语句不使用索引的情况