📄🦌🙌🐟🏖️
ccc2
探 索 星 辰 大 海
精选文章
按住 Shift 横向滚动
OverlayManagerService 的悬浮窗权限,不同厂商差异

OverlayManagerService 的悬浮窗权限,不同厂商差异

OverlayManagerService 的悬浮窗权限,不同厂商差异 OverlayManagerService 的悬浮窗权限,不同厂商差异 从一次线上崩溃说起 去年维护一个直播 SDK 的时候,我们收到一份来自 vivo X90 的崩溃报告。堆栈很干净,干净到让人头疼: android.view

SavedStateViewModelFactory 的恢复逻辑,Bundle 大小限制

SavedStateViewModelFactory 的恢复逻辑,Bundle 大小限制

SavedStateViewModelFactory 的恢复逻辑,Bundle 大小限制 「SavedStateViewModelFactory 的恢复逻辑,Bundle 大小限制」 去年给一个电商 App 做进程回收后的状态恢复时,我踩到了一个坑:用户把商品加入购物车后切到后台,过十几分钟再回来,

Lottie 动画的文件体积优化,JSON 精简技巧

Lottie 动画的文件体积优化,JSON 精简技巧

Lottie 动画的文件体积优化,JSON 精简技巧 Lottie 动画的文件体积优化,JSON 精简技巧 Lottie 在 Android 上的普及程度已经不用多说,Airbnb 开源这套方案近十年后,它几乎成了 App 里播放复杂动画的标准答案。但一个常被忽略的问题是:设计导出的 JSON 文件

Systrace 和 Perfetto 的录制与解读

Systrace 和 Perfetto 的录制与解读

Systrace 和 Perfetto 的录制与解读 Systrace 和 Perfetto 的录制与解读:一个 Android 性能工程师的实战笔记 从一次 ANR 定位说起 去年处理过一个棘手的 Input ANR,用户反馈在列表滑动时偶发卡死,线下复现概率不到 5%。常规的 logcat 抓栈

Layout Inspector 的进阶:3D 视图和属性检查

Layout Inspector 的进阶:3D 视图和属性检查

Layout Inspector 的进阶:3D 视图和属性检查 Layout Inspector 的进阶:3D 视图和属性检查 Android Studio 自带的 Layout Inspector 在 4.0 版本之后经历了一次彻底的重写,从基于 IntelliJ 插件的老架构迁移到了新的底层实现

Turbine 测试 Kotlin Flow,让异步变同步

Turbine 测试 Kotlin Flow,让异步变同步

Turbine 测试 Kotlin Flow,让异步变同步 「Turbine 测试 Kotlin Flow,让异步变同步」 Flow 的测试一直是个让人头疼的事。Kotlin 协程把异步代码写得像同步一样顺手,可一到单元测试里,这种"顺手"就变成了"烫手"。runTest 确实解决了挂起函数的问题,

Google 的架构组件示例仓库,Learning Path

Google 的架构组件示例仓库,Learning Path

Google 的架构组件示例仓库,Learning Path Google 的架构组件示例仓库,Learning Path 一个被低估的官方资源 去年重构公司一个老项目的时候,我在 GitHub 上翻 Android 官方示例,偶然点进了 android/architecture-component

RecyclerView 的预加载机制,Prefetch 到底有用吗

RecyclerView 的预加载机制,Prefetch 到底有用吗

RecyclerView 的预加载机制,Prefetch 到底有用吗 RecyclerView 的预加载机制,Prefetch 到底有用吗 从一次列表卡顿说起 去年维护一个信息流应用时,我遇到个挺典型的性能问题。列表滑动到第 15 条左右开始掉帧,Systrace 上能看到明显的红色帧, Chore