Android Framework
文章平均质量分 86
Android Framework 主要基于Android 14的开发记录
0xm1nam0
KEEP MOVINNG FORWARD
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 外设 App 为什么能“被系统拉起来”?CompanionDeviceManager 实战解析
从应用层看,先 association再 observe presencepresence event 只做唤醒入口真实连接交给 Bluetooth / Wi-Fi 连接层长连接交给 connectedDevice ForegroundService 或连接管理器App 不在前台时,如何基于已关联设备的 presence 合法唤醒自动连接无限保活绕过 force-stop替代 BluetoothGatt替代所有后台任务框架。原创 2026-05-01 19:00:00 · 437 阅读 · 0 评论 -
Android CompanionDeviceManager 与 CompanionDeviceService 源码机制解析:从设备关联到系统级 Presence 唤醒
Android CompanionDeviceManager(CDM)框架深度解析 摘要: CDM是Android为外设伴侣场景设计的系统级框架,通过建立App与设备的持久关联关系,实现基于设备状态的智能唤醒机制。其核心架构包含三层:1)AssociationStore维护设备关联信息;2)DevicePresenceProcessor统一处理BLE扫描、蓝牙连接和自管理三种设备状态来源;3)CompanionAppBinder实现系统绑定的生命周期管理。当关联设备出现时,system_server会主动绑原创 2026-04-30 16:35:38 · 462 阅读 · 0 评论 -
极致性能:Android 系统级屏幕捕获与 HardwareBuffer 实时渲染指南
本文对比了Android屏幕捕获的两种方案:MediaProjection和系统级API。MediaProjection通用但性能受限,而系统级方案通过直接与SurfaceFlinger交互,实现了零拷贝的高性能捕获。重点介绍了基于HardwareBuffer和EGLImage的技术实现,包括屏幕捕获、EGL环境初始化以及将硬件缓冲区转换为OpenGL纹理的完整流程。该方案虽需系统权限,但能提供极低延迟和最高渲染效率,适合对性能要求严苛的场景。原创 2025-09-10 12:35:10 · 1034 阅读 · 0 评论 -
手机防抖的魔法:为什么它不像P图软件那样简单旋转图片?
手机视频防抖功能背后是复杂的电子防抖(EIS)技术,远比简单的图像旋转更精密。由于手机采用滚动快门逐行扫描成像,移动会导致画面扭曲变形,传统的旋转变换矩阵无法解决这种非刚性变形。EIS通过陀螺仪数据和预测算法,对运动轨迹进行平滑处理,并针对每帧画面生成像素级重映射表来修复局部扭曲。这种处理需要专用图像处理器实时运算,虽然比简单变换矩阵更耗资源,但能同时消除抖动和果冻效应,保留用户意图的运动轨迹,实现更自然的稳定效果。原创 2025-08-29 12:52:56 · 1073 阅读 · 0 评论 -
多仓库管理深度决策指南:Gerrit + Repo vs. Git Submodule 的技术选型与实践
深入解析了Gerrit+Repo与Git Submodule在多仓库管理中的技术原理与应用场景。Gerrit作为代码审核中枢,通过Change-ID机制和强制审核流程确保代码质量;Repo则解决超大规模项目的协同问题,通过Manifest文件实现原子化操作。相比之下,Git Submodule更适合小规模项目的精准版本控制。 通过对比矩阵和决策树,文章指出:50+仓库的大型项目应选择Gerrit+Repo,而10以内的小型项目可根据版本控制需求选用Submodule或Subtree。原创 2025-06-11 14:44:20 · 1265 阅读 · 0 评论 -
Android Preference的Widget Frame注入原理与流程解析
在Android Preference体系中,widget_frame 是一个预留在每个Preference项右侧的容器区域(对应ID android.R.id.widget_frame),用于动态注入控件(如CheckBox、Switch等)。其核心目的是将控件与内容分离,确保不同Preference类型(如CheckBoxPreference、SwitchPreference)的控件能统一管理。原创 2025-06-05 14:24:38 · 812 阅读 · 0 评论 -
深入解析Android系统数据管理组件:Settings.System、Settings.Global与SystemProperties
Android系统中的数据管理组件主要包括Settings.System、Settings.Global和SystemProperties,它们在作用域、权限和应用场景上各有不同。SystemProperties用于管理系统级属性,修改需系统或root权限,典型用例包括硬件信息和服务状态监控。Settings.System管理用户级偏好设置,如屏幕亮度,普通应用可通过动态权限申请进行修改。Settings.Global存储全局系统设置,如设备名称,仅系统签名应用可修改。非系统应用应优先使用Settings.原创 2025-05-22 11:23:39 · 1767 阅读 · 0 评论 -
Android 异步任务管理:DelayedActionController 深度解析
是一个强大而灵活的工具类,它通过精心的设计解决了 Android 开发中常见的延迟任务管理问题。线程安全:适合在复杂的多线程环境中使用状态管理:提供清晰的状态转换和查询机制灵活性:支持多种回调方式和操作模式可靠性:通过同步锁和状态检查确保操作的原子性无论是实现复杂的手势识别、精确的时间控制,还是防抖动操作,都能提供可靠的支持。希望这篇文章能帮助你理解这个工具类的设计思想和应用场景,在你的 Android 开发中发挥作用。原创 2025-04-25 15:12:42 · 902 阅读 · 0 评论 -
如何构建高可靠的 Android AIDL 服务:通信架构设计与实践指南
模式应用场景代码示例Observer监听器管理RemoteCallbackList 实现ProxyBinder 通信AIDL 生成的 Stub 类事件队列处理Fail-Safe异常处理封装safeRemoteCall 方法最佳实践清单始终使用 RemoteCallbackList 管理跨进程监听器为每个 Binder 对象绑定 DeathRecipient在 onUnbind 中执行主要资源释放采用状态机管理服务生命周期对高频调用实施节流控制建立分级日志体系。原创 2025-04-16 19:02:14 · 511 阅读 · 0 评论 -
解密 Android 系统应用的“无感自启”:无需广播也能调用 Application 的奥秘
属性和系统预装权限,开发者可以实现无需广播依赖的高效自启逻辑。然而,这一能力也伴随着责任:需谨慎设计后台行为,避免对系统性能造成负面影响。广播实现开机自启的逻辑。但对于系统应用(预装在系统分区的 APK),是否需要依赖广播才能触发。希望本文能为系统应用开发者提供清晰的指引,助力更优雅的 Android 系统级开发!在 Android 系统开发中,理解系统应用的特殊启动机制至关重要。在 Android 应用开发中,许多开发者都熟悉通过。类的初始化,最直接的方式是使用。系统应用(拥有系统签名且预装在。原创 2025-04-16 18:51:11 · 892 阅读 · 0 评论 -
【系统OTA】执行过adb remount 报错 Cannot create update snapshots with overlayfs setup
执行过adb remount,系统OTA将无法更新解决方案步骤: adb enable-verity adb reboot原创 2025-04-16 18:45:02 · 647 阅读 · 0 评论
分享