发布了文章2019-01-20
android系统的输入事件来源在linux内核提供的/dev/input的设备节点下, 当该设备下及诶点有数据刻度时,将数据独处并进行一系列的翻译和加工,然后在所有的窗口中寻找合适的接受者,并派发给它;
赞了文章2019-01-08
行军打仗,你需要一个向导;如果没有向导,你需要一个地图;如果没有地图,至少要学习李广,找一匹识途的老马;如果你连老马也没有,那最好可以三个臭皮匠好好讨论,力图胜过一个诸葛亮;如果三个臭皮匠连好好讨论也做不到,那就是典型的乌合之众了,最好写代码前,...
发布了文章2019-01-02
当一个服务器接受到大量短小线程的请求时, 使用线程池技术是非常合适的, 它可以大大减少线程的创建和销毁次数, 提高服务器的工作效率. 但是线程要求的运行时间比较长, 则不适用.
发布了文章2018-12-08
因为前两篇我们用c写过binder的实例,实现了service和client端,也分析了驱动,从上到下好好的看了下binder的实现原理,但是当我自己看到binder的native的源码时,一脸懵逼,封装的太厉害了,脑海中产生了很多疑问,如下:
发布了文章2018-12-01
这里以注册服务为例,当led_control_service请求注册服务时是通过handle找到的ServiceManager,但是ServiceManager是如何找到led_control_service进行回复的呢?
发布了文章2018-11-25
一. 概述 看过上篇C服务应用篇内容你肯定已经了解binder的一个使用过程,但是肯定还会有很多疑问: service注册服务是怎么和ServiceManager联系上的? client是怎么根据服务名找到的service进程? client获取的handle和service注册到ServiceManager的handle是否相同? cli...
回答了问题2018-11-23
你好 根据你描述的补充,数据对象就相当用于存储数据的对象。然后数据对象类型有int char等等,然而C语言中有声明和定义两种东东,但是只有定义才会分配内存,也就是你描述的存储区域。个人理解,这里描述的对象和变量应该是一个意思。
发布了文章2018-11-20
转到Device Drivers->Android,选中Andoid Drivers和Android Binder IPC Driver
发布了文章2018-11-20
这里只讲下binder的实现原理,不牵扯到android的java层是如何调用; 涉及到的会有ServiceManager,led_control_server和test_client的代码,这些都是用c写的.其中led_control_server和test_client是 仿照bctest.c写的; 在linux平台下运行binder更容易分析binder机制实现...
发布了文章2018-11-18
在整个Android的源码世界里,有两大利剑,其一是Binder IPC机制,,另一个便是消息机制(由Handler/Looper/MessageQueue等构成的). Android有大量的消息驱动方式来进行交互,比如Android的四剑客Activity, Service, Broadcast, ContentProvider的启动过程的交互,都离...