您的位置:首页 > 移动开发 > Android开发

天天记录 - Android深入剖析 简单笔记 Framework概述、理解Context

2012-09-24 21:48 519 查看
第6章   Framework概述
     基本框架分服务器端、客户端、Linux驱动三部分,以下是相关类的描述:

框架类名及继承关系作用
服务器端WindowManagerService窗口的叠放次序,隐藏或者显示窗口。?管理View、ViewGroup
 ActivityManagerService管理所有应用程序的Activity
 KeyQWms内部类,继承于KeyInputQueue
 InputDispatcherTherad启动线程,不断取出用户消息
客户端ActivityThreadAPK仅有一个,所在线程即UI线程,动态加载Activity
 Activity控制显示
 PhoneWindow extends Window内含View,提供通用窗口操作
 abstract Window 
 DecorView  extends  FrameLayout (PhoneWindow内部类)添加Title Bar , 相应特定按键消息
 ViewRoot extends Handler把Wms的IPC调用转为本地的异步调用
 W extends Binder (ViewRoot 内部类)Wms通知客户端窗口,通过IPC调用此Binder类,给ViewRoot发送一个Handler消息,进行异步处理
 WindowManager客户端申请创建窗口,由此类与Wms交互
Linux驱动SurfaceFlingger把各个Surface显示在同一个屏幕上
 Binder提供跨进程消息传递
     疑问: APK有哪些线程? 什么是UI线程?

第7章  理解Context
     多少个Activity或者Service就对应多少个Context对象。Activity和Service都继承自于Context。

Activity中创建Context的过程:
1. Ams通过IPC,ActivityThread.scheduleLaunchActivity()
2. 构建ActivityRecord,本地数据类,一个Activity对应一个
3. handleLaunchActivity
4. performLaunchActivity,引用全局的PackageInfo对象
     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息