Bitmaps
在我的申请中泄露。我正在使用带有磁盘和内存缓存的惰性列表,后来限制在大约10 Mb。我测试应用程序的时间越长,Bitmaps
保存在内存中就越多,永不释放。此应用会大量使用ListViews
Adapters
以及从服务器下载的全屏幕背景ImageViews
。
我已经使用DDMS
和MAT
进行了3天的调查,但我找不到谁创建泄露的Bitmaps
或者什么是阻止它们被垃圾收集的引用。懒惰列表内存缓存正在引用许多Bitmaps
,但是其他人只是没有可以轻松地与其中一个应用程序类关联的引用。它们仅由Views
或ImageViews
等不同的Layouts
引用。
我怀疑这可能是因为此应用程序在应用程序中使用单Activity
和一个Fragment
的每个屏幕的设计不够理想。但是,没有引用我的Fragment
类。
知道什么可以持有那些Bitmaps
? Fragments
是否有可能被释放但OnClickListener
等听众阻止发布视图,因为它们都使用单Context
中的Activity
?