我的应用程序中出现随机(内存不足)崩溃,所以我开始分析我的堆。我注意到,如果我从 Activity A 转到 Activity B,堆会从 27 MB 增加到 35 MB(由于延迟加载许多图像)。但是,当我完成()活动 B 以返回活动 A 时,即使使用 GC 操作,堆大小也保持不变!
烦人的事情是,再次执行活动 B 会将堆增加到 42 MB。我可以多次这样做,而且堆只会不断增加。
这是我正在使用的延迟图像加载库:
懒惰列表https://github.com/thest1/LazyList
这些是堆的屏幕截图
之前:http: //i.stack.imgur.com/7eTzm.png
之后:http: //i.stack.imgur.com/txeC6.png
可根据要求提供转换后的堆转储文件
更新
从我的调试来看,似乎是来自 LazyList 库的问题,但我仍然不能 100% 确定。以下是对图书馆评论的人的参考: