上一页 1 2 3 4 5 6 7 ··· 22 下一页
摘要: 一个Android应用程序窗口里面包含了很多UI元素,这些UI元素是以树形结构来组织的,即它们存在着父子关系,其中,子UI元素位于父UI元素里面,因此,在绘制一个Android应用程序窗口的UI之前,我们首先要确定它里面的各个子UI元素在父UI元素里面的大小以及位置。确定各个子UI元素在父UI元... 阅读全文
posted @ 2015-11-09 08:50 carlo-z 阅读(2670) 评论(0) 推荐(0) 编辑
摘要: Activity组件与WindowManagerService服务之间的连接模型如下图所示:1.Activity组件 -> WindowManagerService的连接 Activity会从WMS中获得一个实现了IWindowSession接口的Session代理对象来标志2.WindowMan... 阅读全文
posted @ 2015-11-09 00:06 carlo-z 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 与Activity组件所关联的窗口对象的实际类型为PhoneWindow,后者是从Window类继承下来的。 Activity、Window和PhoneWindow三个类的关系如下 PhoneWindow对象是从Activity类的成员函数attach中创建的 阅读全文
posted @ 2015-11-08 23:41 carlo-z 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 特定的资源或者类构成了Android应用程序的运行上下文环境 PackageManager, ClassLoader, Assert等等 Android应用程序窗口的运行上下文环境是通过ContextImpl类来描述的,即每一个Activity组件都关联有一个ContextImpl对象。... 阅读全文
posted @ 2015-11-08 23:06 carlo-z 阅读(475) 评论(0) 推荐(0) 编辑
摘要: Activity组件的UI实现需要与WindowManagerService服务和SurfaceFlinger服务进行交互 1.Activity组件在启动完成后,会通过一个类型为Session的Binder对象来请求WindowManagerService为它创建一个类型为WindowStat... 阅读全文
posted @ 2015-11-08 22:38 carlo-z 阅读(335) 评论(0) 推荐(0) 编辑
摘要: SurfaceFlinger服务负责绘制Android应用程序的UI 实现相当复杂,要从正面分析它的实现不是一件容易的事。既然不能从正面分析,我们就想办法从侧面分析。说到底,无论SurfaceFlinger服务有多复杂,它都是为Android应用程序服务的,因此,我们就从Android应用程序与S... 阅读全文
posted @ 2015-11-08 22:09 carlo-z 阅读(276) 评论(0) 推荐(0) 编辑
摘要: Android应用程序是通过消息来驱动的,系统为每一个应用程序维护一个消息队例(MesageQueue),应用程序的主线程不断地从这个消息队例中获取消息(Mesage),然后对这些消息进行处理(Handler),这样就实现了通过消息来驱动应用程序的执行. ActivityManagerServi... 阅读全文
posted @ 2015-11-08 20:17 carlo-z 阅读(206) 评论(0) 推荐(0) 编辑
摘要: Dalvik模式 如果要解释清楚什么是ART模式,我们就需要从Android系统的应用编译模式说起,我们都知道Android系统是以Linux系统为底层构建的,Android系统是开源(源代码公开)的,Android系统势必会适配到不同硬件配置的设备上,因此谷歌为了降低应用的开发难度在Linux底... 阅读全文
posted @ 2015-11-08 18:21 carlo-z 阅读(1732) 评论(0) 推荐(0) 编辑
摘要: 从前面Dalvik虚拟机的运行过程分析一文可以知道,Dalvik虚拟机除了可以执行Java代码之外,还可以执行Native代码,也就是C/C++函数.这些C/C++函数在执行的过程中,又可以通过本地操作系统提供的系统调用来创建本地操作系统进程或者线程,也就是Linux进程和线程。如果在Nativ... 阅读全文
posted @ 2015-11-08 18:13 carlo-z 阅读(434) 评论(0) 推荐(0) 编辑
摘要: Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野。它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看。 依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理。每一个Andr... 阅读全文
posted @ 2015-11-08 18:07 carlo-z 阅读(9893) 评论(1) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 22 下一页