Android 内存

以下页面提供了有关改进应用内存使用情况的信息。

一般内存指南

内存概览
介绍了核心 Android 内存架构、RAM 限制,以及操作系统如何使用低内存终止守护程序 (LMK) 平衡进程。
内存管理
概述了开发者在组件生命周期内释放资源、避免内存泄漏以及在进程状态之间转换时管理内存的最佳实践。
了解 Android 内存并排查相关问题
全面概述了 Android 内存架构、可用于分析的工具,以及帮助您识别和解决内存相关问题的实践练习。

特定领域的优化

游戏内存概览
详细介绍了专门针对使用游戏引擎的应用的内存预算、原生分配处理和图形资源管理指南。
优化位图图片
演示了如何在图片库中高效调整位图资源的大小、解码和缓存位图资源。
管理和诊断 WebView 内存
介绍了 WebView 多进程内存模型,描述了如何正确管理其生命周期以防止内存泄漏,并提供了用于诊断内存问题的实用工作流。
R8 代码优化
介绍了如何利用 R8 缩减 APK 大小、元数据开销和运行时内存消耗。

本地内存调试工具

Android Studio 工具
直接在 IDE 中提供实时堆检查、内存分配跟踪和内存泄漏检测工作流。
Perfetto 堆转储探索器
提供对原生和 Java 或 Kotlin 堆转储的深入可视化分析,以隔离保留的对象树和匿名内存分配。
在设备上捕获系统轨迹
展示了如何在设备上记录系统级轨迹,以解决应用中与性能相关的 bug。
调试 Android 上的内存用量
介绍了如何了解 Linux 内存管理,以及如何使用 dumpsys meminfo、Perfetto、原生堆配置文件和堆转储等工具跟踪内存用量并识别内存泄漏。

生产级内存工具

Android Vitals:内存用量(匿名 RSS + 交换)
Android Vitals 会分享应用在生产环境中的内存用量,并按进程状态(前台、前台服务和后台服务)进行细分。
Android Vitals:位图内存用量
Android Vitals 通过汇总来自 Android 设备的数据,提供有关应用位图内存占用空间的指标。
Crashlytics 20.1.0
显示生产环境中的内存不足 (OOM) 异常和内存限制器终止,并提供诊断上下文,以便优先处理和修复现场崩溃问题。
ProfilingManager
高级 API,可让应用以编程方式从实时用户会话中收集和上传生产堆转储和堆配置文件。

其他资源

如需详细了解内存,请参阅以下其他资源:

博文

视频