android内核剖析 Framework 读书笔记
2015-08-31 22:12
363 查看
整个Framework的启动过程就是本地接收service端IPC调用,再通过异步处理,变成本地调用的过程
这里面有一种调用模式,贯穿了整个Android的framework
就是service通过IPC调用,要调客户端的一个方法,客户端通过binder接收消息,然后放入消息队列,通过handler把变成本地的异步处理
通过上面的流程图,我们可以发现一个android的应用起码包含了三个线程 (每一个binder对应一个线程)UI主线程,ApplicationThread(Binder)对应的一个线程和RootView中的W类(Binder)对应的一个线程
还有就是Activity之间传递数据
首先Activity本质还是一个Java对象,但是我们是拿不到Activity这个对象的引用,它的实例化由Framework完成的,所以我们不能向普通Java对象一个,拿到它的引用直接访问内部数据
我们可以写一个工具类或者叫帮助类,A Activity和B Activity都把数据存在一个Helper类中,就能共享数据了。在Android应用用,Application在程序中是唯一的,我们可以把一些全局变量放在里面。还有就是SQLite和SharedPreference等
还有就是Activity的标准数据传输,Intent类
最后在了解的Android Framework的过程中,可以学习到很多经典,高效的设计模式,比如在这里用到的CS交互模式
这里面有一种调用模式,贯穿了整个Android的framework
就是service通过IPC调用,要调客户端的一个方法,客户端通过binder接收消息,然后放入消息队列,通过handler把变成本地的异步处理
通过上面的流程图,我们可以发现一个android的应用起码包含了三个线程 (每一个binder对应一个线程)UI主线程,ApplicationThread(Binder)对应的一个线程和RootView中的W类(Binder)对应的一个线程
还有就是Activity之间传递数据
首先Activity本质还是一个Java对象,但是我们是拿不到Activity这个对象的引用,它的实例化由Framework完成的,所以我们不能向普通Java对象一个,拿到它的引用直接访问内部数据
我们可以写一个工具类或者叫帮助类,A Activity和B Activity都把数据存在一个Helper类中,就能共享数据了。在Android应用用,Application在程序中是唯一的,我们可以把一些全局变量放在里面。还有就是SQLite和SharedPreference等
还有就是Activity的标准数据传输,Intent类
最后在了解的Android Framework的过程中,可以学习到很多经典,高效的设计模式,比如在这里用到的CS交互模式
相关文章推荐
- Android Api Demos登顶之路(五十四)Service IsolateService Controller
- Android ImageView图片透明区域不响应点击事件,不规则图片透明区域响应点击事件
- Android学习之带图片的Button
- Android APK反编译详解(附图)
- Android layout属性大全
- 编写android HAL代码
- Android中的Drawable资源
- 【转载】Android设计中的.9.png
- Android画图demo
- Android中如何获取系统应用程序列表与AndroidManifest.xml信息
- android开发步步为营之72:右滑关闭Activity
- FrameLayout的使用——android开发之xml布局文件
- android传递数据方式3--通过剪切板传类
- android:layout_weight属性的工作原理
- 如何调试Android中的Sqlite数据
- android传递数据方式2--通过剪切板传数据
- xml文件解析并显示到Android手机 spinner的应用
- Android 笔记 5
- Android之项目中如何用好构建神器Gradle?
- Android-调用本地方法将小写字符串转成大写字符串/NDK-JNI开发实例(四)