android中是否存在任何事件或方法来检查内存是否低?

UMA*_*MAR 0 android

朋友们,

任何一个指导我,如果在android中有任何有用的退出事件,知道我的Android应用程序是否在低内存中运行?

实际上,我正在缓存许多对象,所以我想知道一个中心位置或区域,如果内存不足,我可以释放它们.

任何帮助,将不胜感激.

Nik*_*man 11

与@bigstones所说的相反,onLowMemory()并不完全符合您的预期.我对此调用的理解是,只有在系统内存不足并且要求应用程序释放额外内存时才会达到此调用.onLowMemory()当系统有足够的内存但你的应用程序已达到其内存限制时,将永远不会被调用.

尝试/捕获OutOfMemory异常也是一个坏主意.如果您想知道自己的应用程序的内存使用情况,获取它的最佳方法是通过ActivityManager类,即在getMemoryClass()getProcessMemoryInfo()方法中.

此外,您应该阅读这个SO答案(来自Android工程师),它以更详细的方式解释了进程内存的使用.