2015年(7)
分类: Android平台
2015-01-06 01:11:18
一:家林的话:
APK是AF(Application Framework)和应用开发工程师共同智慧的结晶,APK的运行是AF和应用开发工程师开发的Code相互作用。
本课程依据和Android之父以及Google、三星、HTC中的Android团队合作的经验,力求从设计者的角度带领大家彻底洞悉AF,先从AF的架构和移植讲起,然后详细的以AMS、PMS、WMS的Code细致验证和深度剖析,最后以ANR的彻底剖析结束。
二:这个课程能带给您什么价值?
1, 有Android App开发经验应用软件开发工程师:
第一:解决应用程序频繁出现的疑难杂症,例如ANR、OOM等
第二:应用程序的安装、运行、结束背后的秘密、并以细致的代码剖析来深度探讨;
第三:是从应用开发工程师走向Android架构师最快捷、最实用的的道路;
2, 有经验的Android系统开发人员:
第一:Application Framework内部所有的架构设计秘密揭秘,让你把自己的硬件服务移植进AF如行云流水般畅快;
第二:掌控Android应用程序开发者;
第三:领略最顶级的商业架构思维是如何转化为具体的框架代码的;
三:适合对象:
有至少半年经验的Android应用程序开发,经验越丰富越好;
有Android系统移植经验;
上过王家林Android软硬整合课程或者应用程序开发课程的朋友;
四、培训内容
第一天 |
第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 WindowState.java WindowToken.java AppWindowToken.java Session.java InputManager.java InputMonitor.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的终极解决方案是什么?
|
|
王家林老师(联系邮箱18610086859@126.com 电话:18610086859 QQ:1740415547 微信号:18610086859)
Spark亚太研究院院长和首席专家,中国目前唯一的移动互联网和云计算大数据集大成者。
Spark亚太研究院院长和首席专家,移动互联网、云计算和大数据技术领域集大成者。
当今云计算领域最火爆的技术Docker源码级专家和Docker技术在中国的最早实践者之一。
在Spark、Hadoop、Android、Docker等方面有丰富的源码、实务和性能优化经验。彻底研究了Spark从0.5.0到1.1.0共18个版本的Spark源码。
Hadoop源码级专家,曾负责某知名公司的类Hadoop框架开发工作,专注于Hadoop一站式解决方案的提供,同时也是云计算分布式大数据处理的最早实践者之一,Hadoop的狂热爱好者,不断的在实践中用Hadoop解决不同领域的大数据的高效处理和存储,现在正负责Hadoop在搜索引擎中的研发等,著有《云计算分布式大数据Hadoop实战高手之路---从零开始》《云计算分布式大数据Hadoop实战高手之路---高手崛起》《云计算分布式大数据Hadoop。实战高手之路---高手之巅》等;
多款浏览器定制者,中国大陆HTML5的技术引领者。
为超过50家公司提供了基于Linux和Android的软硬整合解决方案。
擅长构建系统和打造框架,特别精通于Java与C/C++混合的框架实现。
Android架构师、高级工程师、咨询顾问、培训专家;
通晓Android、HTML5、Hadoop,迷恋英语播音和健美;
致力于Android、HTML5、Hadoop的软、硬、云整合的一站式解决方案;
国内最早(2007年)从事于Android系统移植、软硬整合、框架修改、应用程序软件开发以及Android系统测试和应用软件测试的技术专家和技术创业人员之一。
HTML5技术领域的最早实践者(2009年)之一,成功为多个机构实现多款自定义HTML5浏览器,参与某知名的HTML5浏览器研发;
超过10本的IT畅销书作者;
决胜大数据时代100期公益大讲堂:
Spark实战高手之路完整系列课程:
Spark实战高手之路:
Spark专刊:
Spark中文文档: