随笔分类 -  Android系统

11.5 Android显示系统框架_Vsync机制_黄油计划_三个方法改进显示系统
摘要:5. Vsync机制5.1 黄油计划_三个方法改进显示系统vsync, triple buffering, vsync虚拟化 参考文档:林学森 <深入理解Android内核设计思想>第2版 9.6节 Getting To Know Android 4.1, Part 3: Project Butte 阅读全文

posted @ 2018-06-18 21:27 拉风摊主 阅读(2508) 评论(0) 推荐(0) 编辑

11.4 Android显示系统框架_APP与SurfaceFlinger内部机制分析
摘要:4.1 APP跟SurfaceFlinger之间的重要数据结构 一个应用程序有一个或者多个surface(一般只有一个),一个surface有一个或者多个buffer,这些buffer需要应用向surfaceflinger申请; 在surfaceflinger中用client表示每一个应用程序,cl 阅读全文

posted @ 2018-06-15 10:43 拉风摊主 阅读(518) 评论(0) 推荐(0) 编辑

11.3 Android显示系统框架_最简单的surface测试程序
摘要:APP有一个surface(界面),其有多个buffer用来存放界面数据,这些buffer是向surfaceflinger申请的: 因此我们编写的surface测试程序步骤: (1)获得surfaceflinger服务 (2)创建surface (3)得到buffer (4)写buffer (5)提 阅读全文

posted @ 2018-06-14 20:28 拉风摊主 阅读(404) 评论(0) 推荐(0) 编辑

11.2 Android显示系统框架_android源码禁用hwc和GPU
摘要:2. 修改tiny4412_Android源码禁用hwc和gpu(厂家不会提供hwc和gpu的源代码,没有源代码就没法分析了,因此在这里禁用该功能并用软件库实现)最终源码: git clone https://github.com/weidongshan/SYS_0003_Patch_Disable 阅读全文

posted @ 2018-06-14 16:45 拉风摊主 阅读(1034) 评论(0) 推荐(0) 编辑

11.1 Android显示系统框架_framebuffer原理及改进
摘要:1. Android显示系统框架Android Graphic UI with GPU Hardware Accelerationhttps://community.nxp.com/docs/DOC-93612 a. 显示驱动framebuffer的原理及改进 只有一个FrameBuffer的缺点: 阅读全文

posted @ 2018-06-14 11:36 拉风摊主 阅读(2565) 评论(0) 推荐(0) 编辑

10.14 android输入系统_多点触摸驱动测试及Reader线程、InputStage分析
摘要:21. 多点触摸_电容屏驱动程序_实践_tiny4412 tiny4412触摸屏: 分辨率为800 x 480http://wiki.friendlyarm.com/wiki/index.php/LCD-S702/zh 测试:a. 先把原有的ft5x06_ts.c 驱动程序去掉 I2C驱动有i2c_ 阅读全文

posted @ 2018-06-13 19:18 拉风摊主 阅读(418) 评论(0) 推荐(0) 编辑

10.13 android输入系统_多点触摸驱动理论与框架
摘要:1、多点触摸驱动理论 驱动程序仅上报多个触点的位置就可以,是放大还是缩小由应用程序控制 对于多点触摸驱动在linux系统中有个输入子系统,其已经实现了open/read/write等接口 我们只需要实现硬件相关的升级,有数据时上报硬件相关数据给输入子系统 input.c//输入子系统核心文件 .op 阅读全文

posted @ 2018-06-12 18:00 拉风摊主 阅读(375) 评论(0) 推荐(0) 编辑

10.12 android输入系统_InputStage理论
摘要:android应用程序对输入系统的处理分为多个阶段,我们把这些阶段称为InputStage 理论处理流程: (1)activity发给window,如果window不能处理,再由activity处理; (2)window接受输入信息后,window发给decor,如果decor不能处理,再由wind 阅读全文

posted @ 2018-06-12 15:45 拉风摊主 阅读(486) 评论(0) 推荐(0) 编辑

10.11 android输入系统_补充知识_activity_window_decor_view关系
摘要:android里:1个application, 有1个或多个activity(比如支付宝有:首页、财富、口碑、朋友、我的,这些就是activity)1个activity, 有1个window(每个activity都有一个显示界面window)1个window, 有1个decor(装饰/样式:全屏、有 阅读全文

posted @ 2018-06-11 20:22 拉风摊主 阅读(134) 评论(0) 推荐(0) 编辑

10.10 android输入系统_APP获得并处理输入事件流程
摘要:APP对fd/InputChannel的注册过程: new WindowInputEventReceiver extends InputEventReceiver//InputEventReceiver类的dispatchInputEvent函数会调用onInputEvent onInputEven 阅读全文

posted @ 2018-06-11 19:57 拉风摊主 阅读(305) 评论(0) 推荐(0) 编辑

10.9 android输入系统_APP跟输入系统建立联系和Dispatcher线程_分发dispatch
摘要:12. 输入系统_APP跟输入系统建立联系_InputChannel和Connection核心: socketpair // 第9课第3节_输入系统_必备Linux编程知识_任意进程双向通信(scoketpair+binder) 对于每个APP在WindowManagerService中都有个Win 阅读全文

posted @ 2018-06-11 14:58 拉风摊主 阅读(261) 评论(0) 推荐(0) 编辑

10.8 android输入系统_实战_使用GlobalKey一键启动程序
摘要:11. 实战_使用GlobalKey一键启动程序参考文章:Android 两种注册(动态注册和静态注册)、发送广播的区别http://www.jianshu.com/p/ea5e233d9f43 【Android】动态注册广播接收器 http://blog.csdn.net/etzmico/arti 阅读全文

posted @ 2018-06-10 23:39 拉风摊主 阅读(444) 评论(0) 推荐(0) 编辑

10.7 android输入系统_Dispatcher线程情景分析_Reader线程传递事件和dispatch前处理
摘要:android输入系统C++最上层文件是com_android_serve_input_InputManagerService.cpp global key:按下按键,启动某个APP可以自己指定,修改frameworks\base\core\res\res\xml\Global_keys.xml假设 阅读全文

posted @ 2018-06-10 22:06 拉风摊主 阅读(394) 评论(0) 推荐(0) 编辑

10.6 android输入系统_Dispatcher线程_总体框架
摘要:图解Android - Android GUI 系统 (5) - Android的Event Input System - 漫天尘沙 - 博客园.htm // 关注里面的Dispatcher处理流程http://www.cnblogs.com/samchen2009/p/3368158.html D 阅读全文

posted @ 2018-06-10 18:57 拉风摊主 阅读(125) 评论(0) 推荐(0) 编辑

10.5 android输入系统_Reader线程_使用EventHub读取事件和核心类及配置文件_实验_分析
摘要:4. Reader线程_使用EventHub读取事件 使用inotify监测/dev/input下文件的创建和删除 使用epoll监测有无数据上报 细节: a、fd1 = inotify_init("/dev/input") b、假设input下已经有了event0和event1 fd2 = ope 阅读全文

posted @ 2018-06-10 18:33 拉风摊主 阅读(456) 评论(0) 推荐(0) 编辑

10.4 android输入系统_框架、编写一个万能模拟输入驱动程序、reader/dispatcher线程启动过程源码分析
摘要:1. 输入系统框架 android输入系统官方文档 // 需FQhttp://source.android.com/devices/input/index.html 《深入理解Android 卷III》第五章 深入理解Android输入系统 // 主要讲EventHubhttp://blog.csd 阅读全文

posted @ 2018-06-09 23:51 拉风摊主 阅读(314) 评论(0) 推荐(0) 编辑

10.3、android输入系统_必备Linux编程知识_任意进程双向通信(scoketpair+binder)
摘要:3. 任意进程间通信(socketpair_binder) 进程每执行一次open打开文件,都会在内核中有一个file结构体表示它; 对每一个进程在内核中都会有一个task_struct表示进程,这个结构体内部有个files_struct结构体,这个结构体里面有个fdtble结构体,这个结构体里有个 阅读全文

posted @ 2018-06-09 22:06 拉风摊主 阅读(326) 评论(0) 推荐(0) 编辑

10.2、android输入系统_必备Linux编程知识_双向通信(scoketpair)
摘要:2. 双向通信(socketpair) 输入系统肯定涉及进程通讯:进程A读取/分发输入事件,APP处理输入事件,进程A给APP发送输入事件,APP处理完事件回复信息给进程A,APP关闭的时候也要发信息给进程A binder用在进程间双向通信的时候的确定:每次请求只能由client单方发起 因此如果使 阅读全文

posted @ 2018-06-09 21:32 拉风摊主 阅读(234) 评论(0) 推荐(0) 编辑

10.1、android输入系统_必备Linux编程知识_inotify和epoll
摘要:1. inotify和epoll 怎么监测键盘接入与拔出? (1)hotplug机制:内核发现键盘接入/拔出==>启动hotplug进程==>发消息给输入系统 (2)inotify机制:输入系统使用inotify来监测目录/dev/input android使用inofity机制 当插入多个键盘时, 阅读全文

posted @ 2018-06-09 19:55 拉风摊主 阅读(289) 评论(0) 推荐(0) 编辑

9.13 Binder系统_Java实现_内部机制_Server端
摘要:logcat TestServer:* TestClient:* HelloService:* *:S &CLASSPATH=/mnt/android_fs/TestServer.jar app_process / TestServer &CLASSPATH=/mnt/android_fs/Test 阅读全文

posted @ 2018-06-09 15:37 拉风摊主 阅读(229) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示