📄🦌🙌🐟🏖️
ccc2
探 索 星 辰 大 海
Tile Service 开发:快速设置面板的小组件

Tile Service 开发:快速设置面板的小组件

Tile Service 开发:快速设置面板的小组件 Tile Service 开发:快速设置面板的小组件 从 NotificationListener 的权限噩梦逃过来 去年做系统工具类应用时,我被 NotificationListenerService 的权限申请流程折磨得够呛。用户得跳转到系统

Rust 写 Android 系统服务,Google 的新尝试

Rust 写 Android 系统服务,Google 的新尝试

Rust 写 Android 系统服务,Google 的新尝试 Rust 写 Android 系统服务,Google 的新尝试 AOSP 主线的 Rust 代码正在变多 去年刷 AOSP 的代码仓库时,我注意到一个挺有意思的变化:system/core 目录下冒出了几个 .rs 文件。不是某个工程师

Linux 下 Android 开发的环境配置指南

Linux 下 Android 开发的环境配置指南

Linux 下 Android 开发的环境配置指南 Linux 下 Android 开发的环境配置指南 Android Studio 官方支持 Linux 已经不是什么新鲜事,但真要在 Linux 上把 Android 开发环境配到顺手,中间要踩的坑远比 Windows 和 macOS 多。去年我把

Firebase Performance Monitoring,采集开销实测

Firebase Performance Monitoring,采集开销实测

Firebase Performance Monitoring,采集开销实测 「Firebase Performance Monitoring,采集开销实测」 Firebase Performance Monitoring 在 Android 社区里的存在感一直有点微妙。官方文档把它包装成"开箱即用

Google 收紧权限政策,后台启动又难了

Google 收紧权限政策,后台启动又难了

Google 收紧权限政策,后台启动又难了 Google 收紧权限政策,后台启动又难了 从一条 crash 日志说起 去年十月份,我维护的一个工具类 App 在 Pixel 7 上突然报了一批 SecurityException。堆栈信息指向一个很常见的操作:后台 Service 通过 startA

SQLDelight 的类型安全 SQL,在 Android 项目中的使用

SQLDelight 的类型安全 SQL,在 Android 项目中的使用

SQLDelight 的类型安全 SQL,在 Android 项目中的使用 「SQLDelight 的类型安全 SQL,在 Android 项目中的使用」 从 Room 的编译期焦虑说起 去年维护一个老项目时,我遇到过一个典型的 Room 痛点。需求很简单:给查询加个 LIMIT 参数,让用户能分页

Dagger 到 Hilt 的迁移检查清单

Dagger 到 Hilt 的迁移检查清单

Dagger 到 Hilt 的迁移检查清单 「Dagger 到 Hilt 的迁移检查清单」 Hilt 发布已经四年多了,但直到今天,我打开 GitHub 上那些 2018 年以前创建的 Android 项目,Dagger 的 @Component 和 @Module 依然随处可见。迁移不是不想做,而

Zygote 的预加载优化,对 App 启动的影响

Zygote 的预加载优化,对 App 启动的影响

Zygote 的预加载优化,对 App 启动的影响 Zygote 的预加载优化,对 App 启动的影响 Android 应用的冷启动速度,很大程度上取决于 Zygote 进程的分叉效率。这个结论在官方文档里被反复提及,但具体到实际项目中,Zygote 预加载的类列表到底该怎么调整、能省多少毫秒、会不

JetBrains Fleet 对 Android 开发的支持现状

JetBrains Fleet 对 Android 开发的支持现状

JetBrains Fleet 对 Android 开发的支持现状 JetBrains Fleet 对 Android 开发的支持现状 一个被反复推迟的"下一代 IDE"承诺 JetBrains 在 2021 年底首次公开 Fleet 的时候,整个技术圈的预期被拉得很高。官方博客的标题写得相当大胆:

Coil 和 Glide 的加载性能对比数据

Coil 和 Glide 的加载性能对比数据

Coil 和 Glide 的加载性能对比数据 Coil 和 Glide 的加载性能对比数据 从一个真实的 ANR 开始 去年维护的一个社交类 App 开始频繁上报 Input dispatching timed out 类型的 ANR,堆栈信息集中在图片加载环节。当时用的是 Glide 4.14.2