执行期间可用应用程序的内存

时间:2011-08-24 14:00:16

标签: android memory-management

我怎么知道我的应用程序有多少内存可用?我的应用程序下载一些位图并保存(在内存中)它们,以免再次下载错误用户。但据我所知,Java的堆只有16MB,因此我需要处理一些低内存情况并丢弃一些下载的位图(并非所有位图都同时显示,但它们可能对用户可见单击“点击”,如果已经下载了)。

有没有办法获得实际可用内存(这意味着,Java堆可用内存)?

2 个答案:

答案 0 :(得分:2)

不要担心所有这些,而是​​考虑将代表每个图像的对象包裹在WeakReference中。然后只需使用Map<String, WeakReference<Image>>进行缓存,或者你正在进行缓存。

这样,如果它已经在缓存中,请使用它。如果它不在缓存中(或者它之前从未被访问过,或者它已被GC访问过),那么再次获取它。

答案 1 :(得分:2)

Android内存博客

http://codelog.dexetra.com/post/47690459692/getting-around-android-memory-blues

检查出来..这可能有助于你..