本文转载于简单理解Binder机制的原理
一、为什么要使用Binder
性能方面
在移动设备上(性能受限制的设备,比如要省电),广泛地使用跨进程通信对通信机制的性能有严格的要求,Binder相对出传统的Socket方式,更加高效。Binder数据拷贝只需要一次,而管道、消息队列、Socket都需要2次,共享内存方式一次内存拷贝都不需要,但实现方式又比较复杂。
本文转载于简单理解Binder机制的原理
在移动设备上(性能受限制的设备,比如要省电),广泛地使用跨进程通信对通信机制的性能有严格的要求,Binder相对出传统的Socket方式,更加高效。Binder数据拷贝只需要一次,而管道、消息队列、Socket都需要2次,共享内存方式一次内存拷贝都不需要,但实现方式又比较复杂。
Instrumentation类的execStartActivity方法如下,注意注释1处。
开发一个由两个Activity组成的列表明细类应用就可以了,一个activity负责管理记录列表,另一个负责管理记录明细界面,点击列表中某条记录会启动其明细activity实例,按后退键会销毁明细activity并返回到记录列表activity界面,想看记录,同样操作。理论上这样可行,但是如果应用需要更复杂的用户界面呈现及跳转,怎么办?
Android中有灵活的广播机制,Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样应用就只会收到自己感兴趣的广播,广播可以是来自于系统的,也可以来自于其他应用程序。Android系统中分为标准广播和有序广播:
本章学习Android多线程技术,多线程更新UI,用Handler方式解决两个线程之间的通信,同时理解学习Handler的实现原理(Handler、Lopper、MesageQueue三者的关系),以及AsyncTask异步任务处理类,最后学习线程池的,多个异步任务时,合理利用线程池可以减少系统资源的使用,增加程序的流畅性。
依赖倒置原则,英文Dependence Inversion Principle,缩写–DIP。它具体指代了一种特定的解耦形式,使得高层次的模块不依赖于低层次模块的实现细节,依赖模块被颠倒了。总结它的概念有如下几点: