CQM*_*CQM 3 heap android garbage-collection
我看到我的堆越来越多了,我知道它会最终在任何设备上崩溃,因为它会不断增长.
Grow heap (frag case)
在整个日志中都可以看到
在我的手机上它会使用32mb的应用程序崩溃.其他手机当然是16mb,如果有少量资源运行Android 2.2
现在,我正在使用recycle()我的位图,将事物设置为null,从复杂数据结构中弹出项目,以及System.gc()在整个应用程序中使用调用垃圾收集
但是,堆仍然在增长并且最终会出现问题
我如何强制应用程序转储资源,以便它可以继续运行.
它通常总是"位图vm预算"超过,但我感觉越来越多,我只是无法访问"clear bitmap vm"命令
N-J*_*JOY 16
我在这个问题上也遇到了很多困难.你可以做很多事情.
你可以在每个位图上调用recycle并将它们设置为null.(bitmap.recycle()使用此位图使用的所有内存但不会使位图对象无效).
你可以转换hashmaps成WeakHashmaps.因此当系统内存不足时,它的内存会被重新启动.
您可以调整所有位图的大小.看看这墨水..
你可以覆盖onLowMemory()活动中的方法,当整个系统内存不足时,它会接到一个调用.你可以在那里释放一些资源.
你可以让你的对象SoftReference或Weakreference,使他们获得在低内存情况下解除.
但真正的事实是,所有这些都可以延迟你的内存问题/崩溃,但不能消除它,因为事情是你必须泄漏你的活动上下文或内存.
| 归档时间: |
|
| 查看次数: |
5458 次 |
| 最近记录: |