android-analysis
文章平均质量分 84
TechStone
Android-Linux Driver Developer
展开
-
android input system(frameworks) analysis -- InputManager (1)
对input系统在framework层的分析从一次触摸屏丢失上报事件开始:由于设备节点/dev/input/input0存在,而且getevent能响应点触摸屏的动作,所以把问题定位到了EventHub和InputManager这一层。InputManager的结构很简单,对外开放 virtual status_t start(); virtual status_原创 2011-11-15 17:47:07 · 3969 阅读 · 5 评论 -
Android Boot: After kernel stage
本来一直在分析WIFI service,后来一直往底层追溯,就跟踪到了Android的service manager等“大户”的启动,再往上追就到了init了。先大概记录一下启动的流程,以后有空了再补充某些步骤的细节。由于分析的是Kernel起来之后剩下的启动过程,所以从init进程开始:一,initInit是由kernel启动的用户级进程,它始终是第一个存在进程。init起来之后原创 2011-12-06 14:54:06 · 1594 阅读 · 0 评论 -
android input system(frameworks) analysis -- InputManager (2)
接上文对EventHub getEvent()的分析,InputReader::loopOnce()在getEvent()成功返回直接,就调用process(& rawEvent);开始分析报上来的rawEvent:void InputReader::process(const RawEvent* rawEvent) { switch (rawEvent->type) {原创 2011-12-15 11:28:57 · 2797 阅读 · 1 评论 -
android bionic缺失pthread_cancel的解决方法
在native code中使用多线程好处多多,但是Android的bionic并没有完全实现标准POSIX线程库的所有API,例如pthread_cancel()。但是google这样做肯定有原因,被cancel的thread不一定已经把自己拥有的资源释放掉,因此很可能带来内存泄露,锁没有释放等问题。这些问题在移动设备上更加突出。首先介绍一个指标的方法,使用signal替代cancel原创 2011-12-27 16:19:08 · 11290 阅读 · 4 评论 -
Android UEventObserver
UEventObserver是android Java层利用uevent与获取Kernel层状态变化的机制。通过grep发现framework有如下模块使用UEventObserver的功能来提供服务:电池状态:services/java/com/android/server/BatteryService.java耳机状态:services/java/com/android/s原创 2012-04-09 19:43:16 · 8319 阅读 · 2 评论 -
【framework】EventLog分析
在frameworks/base的源码中看到几个很奇怪的EventLogTags.logtags文件,丫竟然还能作为src参与编译,百思不得其解之下只好埋头看源码,记录如下。system/core/logcat/event.logtags文件是说明每个tag的格式的以及部分测试用的log tag,说明如下:1 # The entries in this file map a s原创 2013-01-07 16:14:09 · 13123 阅读 · 3 评论