自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 【Netd】初始化解析

启动失败直接退出:Netd 启动过程中核心模块(如 NetlinkManager、NetdNativeService)初始化失败会直接exit(1),导致进程退出,进而引发 Framework 无法获取 Netd 服务(对应你之前遇到的阻塞);分层初始化逻辑:从 “基础环境→内核通信→业务控制器→对外服务→进程常驻” 逐层依赖,前序模块失败会导致后续无法执行;常驻核心是 Netd 进程不退出的关键,此步骤后进程进入 “等待 - 处理请求” 循环,直到系统关机或进程被杀死。

2026-01-21 23:50:09 254

原创 记录一下MMKV使用

MMKV是腾讯开源的高性能键值存储框架,相比SharedPreferences具有显著优势:采用mmap内存映射和增量更新技术,读写性能接近内存操作;原生支持多线程安全和跨进程通信;支持更多数据类型。文章通过对比SharedPreferences和ContentProvider,分析了MMKV的核心优势、关键技术实现和适用场景,并提供了使用MMKV+Gson存储SIM卡信息的完整案例,包括单例模式实现、线程安全处理和跨进程支持。MMKV适合高频读写、大数据量存储等场景,但不适合结构化数据存储和复杂查询需求。

2025-07-19 23:46:51 965

原创 Binder解析 (1)- Binder的JNI注册

预加载类和资源:通过复制自身进程快速创建应用进程,提高启动速度。进程孵化:通过 Unix 域套接字接收孵化请求,为每个应用创建独立进程。系统服务启动:启动 Android 核心系统服务(如 ActivityManager、WindowManager 等)。此配置确保 Zygote 以最高优先级运行,并在崩溃时自动恢复依赖服务,维护系统稳定性。

2025-06-08 14:12:34 1528

原创 Handler机制学习

【记录一个问题】主线程创建一个Handler,在子线程中去调用sendMessage,为什么消息能在主线程中得到处理?

2024-09-15 14:51:42 1666

原创 Android高版本使用AIDL为什么无法成功?

简单记录一下,今天使用高版本测试AIDL为什么一直拿不到IBinder,十分奇怪。

2024-05-03 12:21:52 1149 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除