码迷,mamicode.com
首页 > 移动开发 > 详细

Android应用开发企业级最佳实践

时间:2014-12-20 02:04:19      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

一:家林的话:

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软硬整合课程或者应用程序开发课程的朋友;

 

 王家林老师(联系邮箱18610086859@126.com 电话:18610086859 QQ:1740415547 微信号:18610086859)

 

四、培训内容

 

第一天 

第1个主题: Android的哲学思考

1. 造型简单、内涵丰富、无限重复

2. AndroidIOC

3. APKAPI

 

第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个主题:ActivityManagerServiceAMS总体剖析

1.ActivityManagerService的main函数剖析

2,AMS的 setSystemProcess剖析

3.AMS的 installSystemProviders函数剖析

4.AMS的 systemReady剖析

 

第9个主题:ActivityManagerServicestartActivity剖析

1.ActivityManager

2.AMS的startActivityAndWait函数剖析

3.startActivityLocked剖析

 

第10个主题:ActivityManagerServiceBroadcastBroadcastReceiver剖析

1.registerReceiver流程剖析

2.sendBroadcast流程剖析

3.BROADCAST_INTENT_MSG消息处理函数

4.应用进程处理广播剖析

第11个主题:ActivityManagerServicestartService剖析

 

1.startService代码剖析

2.startService流程图

 

 

 

时间 

內  容 

备注 

第二天 

第1个主题:ActivityManagerService之进程管理

1.Linux和Android中的进程管理

2.AMS进程管理函数剖析

 

第2个主题:ActivityManagerServiceApp的 Crash处理

1.应用进程的Crash处理

2.AMS的handleApplicationCrash剖析

3.AppDeathRecipient binderDied剖析

 

第3个主题:PackageManagerServicemain函数剖析

1.构造函数剖析之前期准备工作

2.构造函数剖析之扫描Package

3.构造函数剖析之扫尾工作

第4个主题:PackageManagerServiceAPK Installation剖析

1.adb install剖析

2.pm剖析

3.installPackageWithVerification函数剖析

4.APK 安装流程

5.Verification介绍

 

第5个主题:PackageManagerServicequeryIntentActivities剖析

1.Intent及IntentFilter介绍

2.Activity信息的管理

3.Intent 匹配查询剖析

4.queryIntentActivities总结

 

第6个主题:PackageManagerServiceinstalldUserManager剖析

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个主题:WindowManagerServiceWindowManagerImpl剖析

1. addView

2.ViewRoot  

 

第10个主题:WindowManagerServiceWindowManagerImpl剖析

1. ViewRoot和WMS的交互

2.WindowState和Surface

 

第11个主题:彻底洞悉ANR

1. ANR通常出现的场景和常用的解决方案

2.从框架和系统的观点来看:ANR到底是怎么产生的?

3. ANR的终极解决方案是什么?

 

 

Android应用开发企业级最佳实践

标签:

原文地址:http://www.cnblogs.com/wangyanjun/p/4174966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!