- 博客(53)
- 收藏
- 关注
原创 Android-SELinux-开启和修改文件权限的完整指南
在Android系统中,SELinux(Security-Enhanced Linux)通过强制访问控制限制文件操作,即使拥有root权限也可能被拦截。
2025-07-31 18:23:59
712
1
原创 android 事件
方法名调用者作用事件分发入口,决定继续传递或消费ViewGroup仅 ViewGroup 有,返回true拦截事件并接管后续序列View最终处理事件,返回true表示消费事件Android 官方事件文档或事件分发机制详解。引用链接:1.谷歌强制更新仍未压制起火隐患,又一 Pixel 6a 用户经历惊魂时刻 - IT之家2.谷歌承认安卓地震预警系统在土耳其 7.8 级地震中 “掉链子”,仅发出 469 条高危警报 - 金融界3.事件机制详解 - CSDN博客4.
2025-07-31 17:25:30
866
原创 Android NDK Crash 分析
重点关注含SIGSEGV/SIGABRT等信号的记录。需使用编译时生成的未strip的so文件。包含完整的寄存器状态和内存映射信息。可转换地址到源码文件和行号。三、常见崩溃类型分析。匹配对应的工具链版本。
2025-07-31 17:25:01
534
原创 android-activity-栈顶复用和栈内复用区别
Android Activity的栈顶复用(singleTop)与栈内复用(singleTask。
2025-07-31 17:24:11
609
原创 android-wms-常见定制场景
WMS 定制的核心在于窗口类型管理)、层级控制(Z-order)和事件分发链路修改。以上场景需结合 Framework 层代码调整(如),并注意与的协同优化。引用链接:1.彻底搞明白Android WMS窗口相关流程 - CSDN博客2.Android WMS 详解 - 云表3.android 系统 wms详解 - CSDN博客4.深入浅出安卓WMS - 掘金开发者社区5.Android系统重要组件WMS - CSDN博客6.Android WMS - 程序员客栈7.
2025-07-31 17:23:26
502
原创 android-wms-常见问题及解决方案
Android Window Manager Service (WMS) 是系统的核心组件,负责管理窗口的创建、布局、事件分发和动画等操作。通过规范窗口类型管理、事件处理和资源优化,可显著提升稳定性和用户体验。
2025-07-31 17:23:09
697
原创 android-PMS-开机流程
阶段操作内容技术实现SystemServer 启动创建 PMS 实例并注册服务调用系统分区扫描解析预装应用权限与组件信息构造函数内遍历用户应用延迟加载动态注册/data/app应用广播触发性能优化多线程/缓存/延迟加载策略并发扫描与复用厂商适配建议系统分区扫描需兼容Overlay 机制(如),确保厂商定制应用正常加载。避免在 PMS 构造函数中执行耗时 I/O 操作,优先采用异步任务分流初始化压力。
2025-07-30 15:33:39
567
原创 android-PMS-包加载的顺序
PMS 构造函数中首先加载 Framework 资源(framework-res.apk)和系统核心库 (core libraries)。💡 此顺序确保系统核心组件优先初始化,用户应用后加载,保障系统稳定性。,构建全局的包信息树(PackageInfo)和组件注册表。历史安装记录,恢复已安装应用状态。解析所有 APK 的。
2025-07-30 15:21:23
841
原创 android9-PMS-常见问题及分析步骤
厂商定制功能(如密码锁)需确保 Hook 点覆盖所有安装路径(ADB、PackageInstaller、静默安装)。
2025-07-30 15:02:05
623
原创 android-pms-工作流程
阶段核心操作关键技术点初始化扫描目录 → 解析 APK → 构建内存数据库多线程解析、持久化安装任务调度 → 解压验证 → 注册应用异步机制运行时组件匹配 → 权限校验 → 资源代理访问Intent解析、内存权限表维护兼容性处理 → 多线程/缓存优化延迟 dex 优化、APK 信息复用关键设计通过实现安装任务异步化,避免阻塞主线程;扁平化内存数据库(Package对象)提升查询效率。引用链接:1.深入PMS源码(一)—— PMS的启动过程和执行流程 - CSDN博客2.
2025-07-30 14:57:14
700
原创 android 性能优化
以下是Android性能优化的系统性解决方案,综合关键技术与实践方案:优化方案:异步任务、算法简化、减少同步锁竞争。🧵 四、多线程与GC优化线程池管理替代,避免频繁创建/销毁开销。ART运行时调优启用PGO(Profile Guided Optimization),基于运行时行为编译优化代码。调整JVM堆参数:在中配置(谨慎使用)。📦 五、APK与安装优化体积压缩资源混淆(AndResGuard)、WebP图片转换。配置限定CPU架构(如armeab
2025-07-30 14:42:17
987
原创 SurfaceFlinger工作流程
SurfaceFlinger 是 Android 图形系统的核心合成引擎,负责将所有应用的图形层(Layer)合成为最终帧并输出到显示设备,其工作流程严格依赖 VSync 信号驱动,主要分为以下阶段:此流程确保所有图形更新严格按屏幕刷新节奏(如 60Hz)执行,避免画面撕裂并优化资源开销。引用链接:1.SurfaceFlinger初始化流程 - CSDN博客2.SurfaceFlinger启动流程 - CSDN博客3.Android Systrace 基础知识 - SurfaceFlinger 解读
2025-07-30 10:22:54
633
原创 android-屏幕-刷新流程及日志
Binder 接口)请求 SurfaceFlinger 创建。,最终由 SurfaceFlinger 合成并显示。的封装,用于控制窗口层级、位置等属性。3. 创建 SurfaceControl。5. 返回 SurfaceControl。每个 Activity 对应一个。的引用传回应用进程。对象,作为 Native 层。向 WMS 发起请求,传递。对象(此时无实际缓冲区)。对象(即真正的绘图表面)。分配 BufferQueue。对象以控制绘图表面属性。,获得操作绘图表面的能力。6. 绑定 Surface。
2025-07-22 16:38:06
817
原创 git-安装 Gerrit Hook 自动生成changeid
以上方法适用于大多数 Gerrit 托管项目,若遇问题可参考具体错误提示调整。4.注意事项** - git merge-ff合并需子已,避免 丢失 -rit 添加前缀。需仅当前仓库进入仓库git/h 目录创建commit- 文件执行权限。创建全局钩子目录并下载 Gerrit 提供的。注意:若使用 OpenSSH ≥9.0,需将。注意:使用 Open ≥0,需scp。生成 -钩生效,权限(可及路径。此方法无需为每个仓库单独配置钩子。若需仅对当前仓库生效,进入仓库的。直接从 服务器子脚本替换服务器。
2025-07-08 18:00:27
779
原创 Android SurfaceFlinger服务工作流程及异常案例和日志
Android中的Choreographer是一个关键的帧调度组件,主要负责协调UI渲染与屏幕刷新同步,其工作流程可分为以下几个核心环节:
2025-07-08 10:38:59
384
原创 android ui thread和render thread
在Android系统中,UI线程(主线程)和Render Thread(渲染线程)是图形渲染流程中的核心组件,二者协同工作以确保界面流畅性和响应速度。onCreate()SystraceTraversal通过上述分工,Android实现了UI响应与渲染效率的平衡,而硬件加速的引入进一步提升了性能上限。,UI主线程Render Thread线程)渲染流程组件,工作以确保流畅性和速度。详细解析### ** UI线程线程) **职责负责处理事件(、滑动树的()、布局)以及(指令。所有件的实例系统如())于此。
2025-07-07 13:59:04
448
原创 Android Profiler 丢帧分析教程及案例
以下为基于最新实践的 Android Profiler 丢帧分析全流程指南及实战案例,结合权威技术文档与优化经验(2025年更新):一、Profiler 丢帧分析核心流程。
2025-07-03 11:28:17
1074
原创 android 卡顿和丢帧区别
fill:#333;color:#333;color:#333;fill:none;连续发生主线程阻塞单帧渲染超时卡顿GPU 渲染超时单帧未提交丢帧卡顿是操作无响应的结果,丢帧是画面不连贯的技术表象,二者通过。
2025-07-03 10:45:29
808
原创 Android Profiler线程阻塞分析教程及案例
b shell /proc]/taskID]/ # PID线程 ```输出若显示utex_w 或otify,表明锁 I/O。|----------------------------------------------------------| ** I/O | 文件/ |至。通过 Prof监控系统链adbystrace精准定位90% 阻塞问题。Prof显示两个线程(ID 113)阻塞 -应用后台10 界面无法但未 ANR- ****####案例 主线程 阻塞R**
2025-06-30 14:17:46
547
原创 Android Profiler线程分析教程及案例
**Activity Leaks检测。分析树 -块自定义(重点) -/蓝色:系统 方法。- 方法查看耗时及调用。记录()** - Record** 操作 再次Stop**生成跟踪。-优先级**:对后台设置READ_PITY_B,避免 UI。关键:线程阻塞泄漏残留池管理问题,优先方法 堆** 根。:当存在级调度(如),通过Syst 检查竞争 频率。案例 未绑 Handler 引发**Thread` 线程数 ),复用。:(中)、可等待调度(阻塞休眠)post更新 UI后启动。
2025-06-30 11:12:40
1331
原创 Android Profiler:GPU分析教程及案例
定位线程阻塞点(图示:时序报告界面)。:Profiler 中点击。可生成时序报告,结合。
2025-06-25 16:36:49
1193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人