【发布时间】:2012-04-11 02:28:07
【问题描述】:
我在追踪“位图大小超出 VM 预算”错误时遇到了很大的问题。我查看了其他问题,并尝试了所有建议(释放资源,使用 bitmap.recycle() 并将变量、位图、画布设置为 null 当活动被破坏或视图从窗口https://stackoverflow.com/a/6779448/571143 分离时,也试图摆脱' this' 上下文并使用了 this.getAplicationContext())。
我遇到的问题不是位图太大而无法加载。一开始一切正常,但在当前活动多次重复更改后,我收到此错误(在设备上发生的活动更改比在模拟器上多得多)。
那么,回到我的问题,有没有办法使用分配跟踪器或堆分析器来引导我朝着正确的方向前进?在这些工具中没有“位图分配”的痕迹,只有很小的(大部分小于 1kb)分配。我已经读过这个:http://android-developers.blogspot.com/2009/02/track-memory-allocations.html
我知道我做错了什么,因为位图没有解除分配,但我正在处理的项目相当大,由一群人制作,所以手工分析所有内容将是最后的手段也非常耗时。
在这种情况下,我将不胜感激有关这些工具的任何提示。
干杯, 卡曼
【问题讨论】:
标签: android memory-management memory-leaks bitmap android-canvas