本章为官方文档,主要介绍 Android 如何管理应用进程和内存分配。
首先了解为什么要有内存优化,官方的文档介绍
https://developer.android.com/topic/performance/memory-overview?hl=zh-cn
Android 运行时 (ART) 和 Dalvik 虚拟机使用分页和内存映射来管理内存。这意味着应用修改的任何内存,无论修改的方式是分配新对象还是轻触内存映射的页面,都会一直驻留在 RAM 中,并且无法换出。要从应用中释放内存,只能释放应用保留的对象引用,使内存可供垃圾回收器回收。这种情况有一个例外:对于任何未经修改的内存映射文件(如代码),如果系统想要在其他位置使用其内存,可将其从 RAM 中换出。
https://developer.android.com/topic/performance/memory?hl=zh-cn
随机存取存储器 (RAM) 在任何软件开发环境中都是一项宝贵资源,但在移动操作系统中,由于物理内存通常都有限,因此 RAM 就更宝贵了。虽然 Android 运行时 (ART) 和 Dalvik 虚拟机都执行例行的垃圾回收任务,但这并不意味着您可以忽略应用分配和释放内存的位置和时间。您仍然需要避免引入内存泄漏问题(通常因在静态成员变量中保留对象引用而引起),并在适当时间(如生命周期回调所定义)释放所有 Reference 对象。
Android通过的以下几个方面对内存进行管理:
垃圾回收
共享内存
分配与回收应用内存
限制应用内存
切换应用
以上内容为官方内容,可从官网查阅:
强调内存释放的重要性并且建议从以下几点优化应用内存使用: