目录
前言
Android 存在内存回收机制,当它确定应用不再使用某些对象时,垃圾回收器会将未使用的内存释放回堆中。 虽然 Android 查找未使用内存的方式在不断改进,但对于所有 Android 版本,系统都必须在某个时间点短暂地暂停你写的代码。 大多数情况下,这些暂停难以察觉。 但是,如果你的应用分配内存的速度比系统回收内存的速度快,那么当释放足够的内存以满足应用的分配需要时,应用就可能出现延迟。 这样可能会导致应用跳帧,并使系统明显变慢
如果存在内存泄漏,则即使应用在后台运行也会保留该内存。 此行为会强制执行不必要的垃圾回收事件,因而拖慢系统的内存性能。 最后,系统被迫终止你的应用进程以回收内存。 然后,当用户返回你的应用时,就必须完全重启
为帮助防止这些问题,我们可以使用Memory Profiler
实时图表展示应用内存使用量
识别内存泄漏、抖动
提供捕获堆转储、强制GC以及跟踪内存分配的能力
Memory Profiler 概览
图 1. Memory Profiler
如图 1 所示,Memory Profiler 的默