摘要: 《深入剖析Android系统》第9章RIL补充配图《深入剖析Android系统》一书中第9章的RIL部分的函数层层调用,可以用插图的方式标示出主要的调用关系。由于插图较大,不适合16开的书籍尺寸大小,故未将相关插图放到《深入剖析Android系统》一书中。读者在阅读该章内容时,可以在电脑上放大插图来查看函数的调用关系。注:这些插图绘制于2009年,基于Android的Cupcake版本,但亦适用于Android的后续新版本。1.RIL调用关系概略图:2.RIL调用关系详图:3. RIL调用关系详图中的分发(dispatch)部分:4.RIL调用关系详图中的读取部分(reader):5. Rad 阅读全文
posted @ 2013-01-29 13:49 博文视点(北京)官方博客 阅读(287) 评论(0) 推荐(0) 编辑
摘要: Looper中的睡眠等待与唤醒机制C++类Looper中的睡眠和唤醒机制是通过pollOnce和wake函数提供的,它们又是利用操作系统(Linux内核)的epoll机制来完成的。当被监控的文件(通过epoll_ctl的EPOLL_CTL_ADD添加进去)可I/O时,epoll_wait调用会从睡眠中醒来,这时,可以检查是哪个(或哪些)文件描述符对应的文件可以进行I/O读写了,从而做出进一步处理。使用者利用它们就可以拥有睡眠等待和唤醒机制。下面详述。在Looper的构造函数中,会创建一个管道(下面的行73),然后调用epoll_create获取一个epoll的实例的描述符(行88),最后将管道 阅读全文
posted @ 2013-01-29 13:30 博文视点(北京)官方博客 阅读(1028) 评论(0) 推荐(0) 编辑