Recent posts

Android Input事件ANR流程

3 minute read

Android Input体系中,大致有两种类型的事件:实体按键key事件,屏幕点击触摸事件。如果根据事件类型的不同,还能细分为基础实体按键的key(power,volume up/down,recents,back,home),实体键按键,屏幕点击(多点,单点),屏幕滑动等事件。在Android整个Inp...

C++字符串比较函数strcmp和strstr的用法

2 minute read

今天碰到一个细节bug,使用strcmp来比较两个字符串是否完全相同。但是忽略了一个问题,如果存在一个字符串包含在另一个字符串呢?此时就会发现需要用strstr函数。

Android 两种实时获取FPS的方法

1 minute read

通过ADB命令实时获取FPS帧率有两种方式,一种是dump gfxinfo,一种是dump SF --latency。其他还可以通过三方APP GameBooster(Google PlayStore可以下载)打开实时FPS监控查看。 如果是查看动画是否丢帧,可以通过视频工具QuickTime Player...

Android SELinux权限笔记

less than 1 minute read

在新增一个HIDL Service后,需要对其进行权限配置,不然通过adb shell ps -A|grep NAService会发现该service无法启动,也会通过抓取log发现一堆的avc: denied权限问题。关于SELinux可以推荐文档:https://www.pianshen.com/art...

Android RC文件分析

1 minute read

Android中最熟知的RC文件就是init.rc了,而在Hal接口服务定义中也会创建.rc文件。init.rc的语法分为行为(Actions),、命令(Commands) 、服务(Services)、选项(Options)。.rc文件是资源文件,包括比如对话框、菜单、图标、字符串等资源信息。使用.rc资源...

Android 触控事件分析

1 minute read

我们常见的触摸事件除了按下,弹起,移动之外还有很多,诸如长按,双击,Scroll,Fling等,他们是怎么判断的,还有这些长按,双击等事件的时间能否自由设置。可以在开发者选项中打开“显示点按操作反馈”和“指针位置”,同时可以打开inputflinger模块的log开关做一些调试,分析TP报点。

Android SurfaceFlinger和HWC2概述

8 minute read

Android SurfaceFlinger和HWC2概述 参考Android Q AOSP源码添加修改部分内容 参考源码: http://aosp.opersys.com/xref/android-10.0.0_r14/