- 博客(23)
- 收藏
- 关注
原创 【Android】【input子系统】【Android 焦点窗口问题分析思路】
我们开发中可能回遇到Application does not hava focused window的ANR异常或InputDispatching TimeOut的异常,这里我们梳理一下分析的思路。
2025-07-08 15:17:01
603
转载 【Android】【input子系统】【Focus Application、Focus Window、Focus Display02】
我们经常会遇到一种Application does not hava focused window的ANR异常,这种异常一般是没有焦点窗口FocusedWindow导致,且这类异常只会发生在key事件的派发,因为key事件是需要找到一个焦点窗口然后再派发,而触摸事件只需要找到当前显示的窗口即可。焦点窗口是指当前正在与用户交互的窗口,该窗口负责接收键事件和触摸事件。当启动新的Activity、添加新的窗口、移除旧窗口、分屏来回操作时,都会涉及到焦点窗口的更新。
2025-07-08 14:51:58
323
原创 【Android】【input子系统】【Focus Application、Focus Window、Focus Display01】
最近搞Android双屏触控,双屏异显的功能,涉及到了触控点击流程更新Focus Display的流程,这里梳理一下具体流程。
2025-07-06 00:10:41
567
原创 【Android】【Input子系统】【触控设备与屏幕的绑定】
之前的文章我们调试了双屏异显和双屏触控的问题,当时我们通过配置input-port-associations.xml文件静态绑定了触控设备与显示设备的关系。本篇文章,我们详细梳理下具体的流程,主要流程还是涉及input子系统,当然也包括wms,因为本身对wms暂时还不是很熟悉,这里就简述wms的流程。
2025-06-17 01:00:54
997
原创 【Android】【sensor】【SensorService02】
上一篇文章我们分析了sensorservice的启动流程,且分析到了sensor event上报数据的流程,最后会将sensor event事件扔到创建好的socketpair的一端,另一端负责读取。
2025-06-10 17:26:50
646
原创 【Android】【sensor】【SensorService01】
之前的blog讲述了一个sensor在Android设备上的设备流程,该篇文章将会梳理SensorService的启动流程,中间涉及java层,Native层,hal层,尽可能详尽的梳理其流程。
2025-06-10 16:05:06
977
原创 【Android】【system server】【SystemServer启动流程-主流程】
梳理下system server的启动流程,简要记录下system server的启动主流程。
2025-06-05 23:56:06
320
原创 【Android】【system server】【SystemServerInitThreadPool类详解】
梳理systemserver启动流程时,发现SystemServerInitThreadPool对象,文章主要记录有关他的流程与作用。
2025-06-05 18:38:29
221
原创 【Android】【system server】【SystemServiceManager类与SystemService类详解】
系统服务要么直接extend SystemService,要么创建静态内部类Lifcycle extends SystemService,它是运行在系统进程中的service的基类,根据需要override和implement生命周期事件回调方法。public abstract void onStart(),抽象方法,extends SystemService的类必须实现该方法,并在该方法中调用publishBinderService()。
2025-06-05 17:22:59
2133
原创 【Android】【system server】【LocalServices类详解】
梳理systemserver启动流程时,发现有一个LocalServices的对象,不清楚他的作用,文章主要记录有关他的流程与作用。
2025-06-05 16:09:55
208
原创 【Android】【sensor】【重力加速度sensor适配流程】
本文主要记录在Android 14 intel 平台上适配重力加速度传感器的过程,适配硬件外设也是有一定的流程流程套用的。这里记录下sensor调试适配的过程,然后再梳理下sensor的架构。
2025-05-30 18:29:21
1127
原创 【Android】【Android启动流程之zygote进程】
1、说一下什么是zygote进程,和他的启动流程?2、为什么用zygote创建进程,而不是systemserver创建?3、AMS与zygote为什么不用binder通信?1、zygote进程是init进程解析加载init.zygote32.rc或init.zygote64.rc文件启动的,这里以init.zygote64.rc为例,进行解析。2、zygote进程的入口函数。/frameworks/base/cmds/app_process/app_main.cpp。这里主要是解析init.zyg
2025-05-21 01:07:22
536
原创 【Android】【Android启动流程】【自定义prop文件,加载默认属性】
1、自定义my.prop文件2、添加编译build.mk3、自定义.prop文件,将init进程中进行解析。return;} else {//自定义的prop文件// }
2025-05-19 15:53:23
344
2
原创 【Android】【Android启动流程】【新建分区并挂载】
这里就涉及到分区表的创建,不同厂商,配置分区表的方式不同,高通需要配置partition.xml,intel需要在device目录下的gpt.ini文件配置,不同厂商的配置不同,这里不做分析。挂载的方式也可在不同的阶段进行,如下,添加的分区在/dev/block/下,将其挂载到创建的目录下,该文件是fstab文件,一般在device目录下。这里可以选择多种方式去创建目录,如在根目录下创建,根目录下的dev、proc、data等均在此处创建,我们仿照添加想要添加的temp目录即可。
2025-05-19 15:45:08
760
原创 【Android】【input子系统】【ANR之FocusedApplication设置】
FocusedApplication的设置是直接由WMS设置给了InputDispatcher,不需要经过Surfaceflinger。
2025-05-08 17:30:12
340
原创 【Android】【FrameWork】【在FrameWork中添加系统服务和manager】
本文章用于在framework层新建一个系统服务,该系统服务开机自启动,应用程序可以通过aidl与该系统服务通信,基于Android11。
2025-04-18 17:46:42
523
原创 【Android】【Input输入子系统】【getevent 触控数据解析和Android MotionEvent结构解析】
本文章用于总结与记录Android Input子系统相关内容(主要为触控),文章内容多数来源于网络,如有侵权,请及时与我联系。
2025-04-17 15:42:39
861
原创 【数据结构与算法】【数组】【移除元素】
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。
2025-04-01 00:15:49
210
原创 【Android】【JNI用法与调试记录】
JavaVM声明在jni.h文件里面,我们在JNI开发中,必定要引入#include <jni.h>头文件。#else//C语言定义#endif/**/#else#endif/**/#else//C的定义#endif/**/...#else//C的定义#endif/**/...
2025-03-06 23:20:34
1770
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅