2015年4月25日
摘要:
Android主要提供了3类动画,第一类是Tween动画(也称为补间动画),就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。第二类就是 Frame动画,即顺序的播放事先做好的图像。第三类是属性动画,这种动画会改变对象的实际属性。 1. Tween动画(补间动画) 补间动
阅读全文
posted @ 2015-04-25 16:13
Jackwen
阅读(263)
推荐(0)
2015年4月16日
摘要:
目前,在锁屏界面控制音乐播放有两种常用方式。第一种方式:原生Android系统及自带音乐播放器。锁屏界面端: 原生Android中,锁屏界面相关的UI由KeyguardHostView提供,KeyguardHostView向KeyguardUpdateMonitor注册一个类型为 KeyguardU...
阅读全文
posted @ 2015-04-16 18:08
Jackwen
阅读(4005)
推荐(0)
2015年3月19日
摘要:
通过MediaServer详细解析Binder内部实现细节。1. MediaServer的入口函数int main(int argc, char** argv) { sp proc(ProcessState::self()); //获得一个ProcessState实例 // ...
阅读全文
posted @ 2015-03-19 09:45
Jackwen
阅读(279)
推荐(0)
2015年3月16日
摘要:
Binder工作在linux层,是一个不需要硬件的驱动,从线程角度看,Binder代码运行在内核态,客户端程序使用Binder是通过系统调用完成的。 Binder是一种整体架构,包含服务端接口,Binder驱动,客户端接口三个模块。1. 服务端 一个Binder服务端实际上就是一个Binder类的...
阅读全文
posted @ 2015-03-16 19:16
Jackwen
阅读(428)
推荐(0)
2015年3月14日
摘要:
一. Looper 1. 如何使用Looper? (1) 定义一个LooperThread. (2) 应用程序中使用LooperThread: 2. Looper.prepare()函数: 3. Looper的创建: 由此可见, 在调用prepare线程中,为该线程设置了一个Looper对象,Loo
阅读全文
posted @ 2015-03-14 15:59
Jackwen
阅读(366)
推荐(0)
摘要:
RefBase提供了一个函数: extendObjectLifetime(int32_t mode); 用于在构造函数中设置mFlags的值. 以及定义了一个枚举: enum { OBJECT_LIFETIME_WEAK = 0x0001; // 二进制为B01 OBJECT_LIFETIME_F...
阅读全文
posted @ 2015-03-14 14:17
Jackwen
阅读(242)
推荐(0)
摘要:
1. 通过wp创建sp的例子, 如: int main() { A* pA = new A(); wp wpA(pA); // 弱引用计数为1, 强引用计数为初始值0x1000000. sp spA = wpA.promote(); // 通过promote()得到一个sp. }2. promote...
阅读全文
posted @ 2015-03-14 13:41
Jackwen
阅读(306)
推荐(0)
2015年3月13日
摘要:
RefBase是Android中所有对象的始祖,类似于MFC中的CObject,Java中的Object对象。在Android中,RefBase结合sp(strong pointer)和wp(weak pointer),实现来一套通过引用计数的方法来控制对象生命周期的机制。sp和wp存在的目的就是...
阅读全文
posted @ 2015-03-13 14:53
Jackwen
阅读(466)
推荐(0)
2015年3月6日
摘要:
1. zygote 本身是一个Native的应用程序,与驱动,内核无关,由init进程根据init.rc的配置项创建起来的。2. zygote 是创建java世界的盘古,创建java世界的步骤: (1) 创建AppRuntime对象,并调用它的start。此后的活动由AppRuntime控制。 (2...
阅读全文
posted @ 2015-03-06 14:22
Jackwen
阅读(279)
推荐(0)
摘要:
1. init :是Android系统中用户空间的第一个进程。有以下两个重要职责:负责创建系统中的几个关键进程,如zygote.提供一个property service(属性服务)来管理Android系统的属性。2. init工作流程: (1) 解析两个配置文件:与系统相关的配置文件init.rc,...
阅读全文
posted @ 2015-03-06 10:01
Jackwen
阅读(257)
推荐(0)