随笔分类 -  Android Frameworks

摘要:Android是消息驱动的,实现消息驱动有几个要素:消息的表示:Message消息队列:MessageQueue消息循环,用于循环取出消息进行处理:Looper消息处理,消息循环从消息队列中取出消息后要对消息进行处理:Handler平时我们最常使用的就是Message与Handler了,如果使用过H... 阅读全文
posted @ 2013-09-29 16:00 AngelDevil 阅读(88228) 评论(11) 推荐(28) 编辑
摘要:Android在Native层实现了进程间的Binder通信,但是上层应用程序的开发及Framework的实现都是Java,用Java层再实现一次肯定是不合理的,Java可以通过JNI调用Native Code,所以通过JNI复用Binder在Native层的实现就是一个顺理成章的事情。注册Serv... 阅读全文
posted @ 2013-09-23 14:52 AngelDevil 阅读(6727) 评论(0) 推荐(0) 编辑
摘要:关于Binder的设计思想与Driver层实现细节可以看这个:Android Binder设计与实现 - 设计篇,这里首先简要概括一下。Service的每个Binder实体位于Service所属的进程种中,Binder实体在驱动中被表示为binder_node,并通过成员refs指向了驱动中所有对这... 阅读全文
posted @ 2013-09-17 15:23 AngelDevil 阅读(4718) 评论(0) 推荐(0) 编辑
摘要:摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性... 阅读全文
posted @ 2013-09-02 14:16 AngelDevil 阅读(21414) 评论(4) 推荐(6) 编辑
摘要:1、ContextWrapper.startService startService是Context的方法,Activity、Service都继承自ContextWrapper,而ContextWrapper又继承自Context,BroadcastReceiver的onReceive方法中有个参... 阅读全文
posted @ 2013-05-24 11:50 AngelDevil 阅读(11876) 评论(0) 推荐(0) 编辑
摘要:Low Memory Killer的原理 在Android中,即使当用户退出应用程序之后,应用程序的进程也还是存在于系统中,这样是为了方便程序的再次启动,但是这样的话,随着打开的程序数量的增加,系统的内存会变得不足,就需要杀掉一部分进程以释放内存空间。至于是否需要杀死一些进程和哪些进程需要被杀死,... 阅读全文
posted @ 2013-05-21 16:38 AngelDevil 阅读(26997) 评论(0) 推荐(1) 编辑
摘要:一、Android编译步骤: 二、初始化编译环境--source build/envsetup.sh 在build/envsetup.sh中主要完成了三件事。 添加编译目标的代码如下:for f in `/bin/ls vendor/*/vendorsetup.sh vendor/*/*/... 阅读全文
posted @ 2013-05-19 12:55 AngelDevil 阅读(15175) 评论(3) 推荐(1) 编辑
摘要:Android中通过引用计数来实现智能指针,并且实现有强指针与弱指针。由对象本身来提供引用计数器,但是对象不会去维护引用计数器的值,而是由智能指针来管理。要达到所有对象都可用引用计数器实现智能指针管理的目标,可以定义一个公共类,提供引用计数的方法,所有对象都去继承这个公共类,这样就可以实现所有对象都... 阅读全文
posted @ 2013-03-10 12:48 AngelDevil 阅读(19507) 评论(1) 推荐(6) 编辑

点击右上角即可分享
微信分享提示