培训大纲:
第一部分
第1个主题: Android的哲学思考
1. 造型简单、内涵丰富、无限重复
2. Android的IOC
3. APK与API
第2个主题:Android Application Framework揭秘
1. CS结构:应用框架中的Manager通用的结构
2. Manager与Service一一对应
3. 跨进程通信与AIDL
第3个主题:Android中启动一个新的应用程序揭秘
1. 当我们触摸Android屏幕中Launcher上的一个应用程序的图标的时候到底发生怎样的调用过程?
2. 应用程序的执行入口到底在哪里?
3. 一个新的Android应用程序的进程到底是怎么产生的?
第4个主题:Dalvik VM
1. Dalvik VM的特点,Dalvik VM和JVM的比较
2. Dalvik VM的内存分布及OOM(Out of Memory)的根本原因和解决方案是什么?
3. Preload Classes和 Preload Resources,ClassLoader到底在哪里?
4. Dalvik与Java和C/C++
第5个主题:把Java写的 Service加入到Applciation Framework中
1. IInterface与CTS
2. Binder
3. AIDL
4. Java Service与Manager
5. SystemServer、ServiceManager
第6个主题:Android框架移植移植时的事件驱动机制
1. Android Service是如何应对硬件阻塞的?
2. 开辟新的子线程并不断的poll
3. Listener注册
4. Callback
5. Application Framework中的Handler、Message、Looper、MessageQueue、
6. 事件驱动机制实例
第7个主题:Manager、Service和完整的数据流
1,Manager和Service分离的原则
2,ANR问题
3,阻塞式的操作和非阻塞式操作
4,以实例说明Android中的从最底层到最上层的数据流
第8个主题:ActivityManagerService之AMS总体剖析
1.ActivityManagerService的main函数剖析
2,AMS的 setSystemProcess剖析
3.AMS的 installSystemProviders函数剖析
4.AMS的 systemReady剖析
第9个主题:ActivityManagerService之startActivity剖析
1.ActivityManager
2.AMS的startActivityAndWait函数剖析
3.startActivityLocked剖析
第10个主题:ActivityManagerService之Broadcast和BroadcastReceiver剖析
1.registerReceiver流程剖析
2.sendBroadcast流程剖析
3.BROADCAST_INTENT_MSG消息处理函数
4.应用进程处理广播剖析
第11个主题:ActivityManagerService之startService剖析
1.startService代码剖析
2.startService流程图
第二部分
第1个主题:ActivityManagerService之进程管理
1.Linux和Android中的进程管理
2.AMS进程管理函数剖析
第2个主题:ActivityManagerService之App的 Crash处理
1.应用进程的Crash处理
2.AMS的handleApplicationCrash剖析
3.AppDeathRecipient binderDied剖析
第3个主题:PackageManagerService之main函数剖析
1.构造函数剖析之前期准备工作
2.构造函数剖析之扫描Package
3.构造函数剖析之扫尾工作
第4个主题:PackageManagerService之APK Installation剖析
1.adb install剖析
2.pm剖析
3.installPackageWithVerification函数剖析
4.APK 安装流程
5.Verification介绍
第5个主题:PackageManagerService之queryIntentActivities剖析
1.Intent及IntentFilter介绍
2.Activity信息的管理
3.Intent 匹配查询剖析
4.queryIntentActivities总结
第6个主题:PackageManagerService之installd及UserManager剖析
1. installd剖析
2.UserManager剖析
第7个主题:WindowManagerService之应用程序界面的初始化
1. Android中的窗口
2.应用程序界面初始化的过程
第8个主题:WindowManagerService之窗口管理
1. WindowManagerService.java
2.Activity启动过程中创建窗口的时序
第9个主题:WindowManagerService之WindowManagerImpl剖析
1. addView
2.ViewRoot
第10个主题:WindowManagerService之WindowManagerImpl剖析
1. ViewRoot和WMS的交互
2.WindowState和Surface
第11个主题:彻底洞悉ANR
1. ANR通常出现的场景和常用的解决方案
2.从框架和系统的观点来看:ANR到底是怎么产生的?
3. ANR的终极解决方案是什么?