我看到我的堆越来越多了,我知道它会最终在任何设备上崩溃,因为它会不断增长.
成长堆(frag case)
在整个日志中都可以看到
在我的手机上它会使用32mb的应用程序崩溃.其他手机当然是16mb,如果有少量资源运行Android 2.2
现在,我在我的位图上使用recycle(),将事物设置为null,从复杂数据结构中d出项目,并使用System.gc()在整个应用程序中调用垃圾收集
但是,堆仍然在增长并且最终会出现问题
我如何强制应用程序转储资源,以便它可以继续运行.
它通常总是“位图vm预算”超过,但我感觉越来越多,我只是无法访问“clear bitmap vm”命令
解决方法:
我在这个问题上也遇到了很多困难.你可以做很多事情.
>你可以在每个位图上调用recycle并将它们设置为null.(bitmap.recycle()with relaese此位图使用的所有内存但不会使位图对象无效).
>您还可以取消绑定与此link中指定的布局关联的drawable.
>您可以将哈希映射转换为WeakHashmaps.因此当系统内存不足时,它的内存会被重新启动.
>您可以调整所有位图的大小.看看这个link..
>您可以覆盖活动中的onLowMemory()方法,当整个系统内存不足时,该方法会调用.你可以在那里释放一些资源.
>您可以将对象设置为SoftReference或Weakreference,以便它们在低内存条件下释放.
但真正的事实是,所有这些都可以延迟你的内存问题/崩溃,但不能消除它,因为事情是你必须泄漏你的活动上下文或内存.
总结以上是内存溢出为你收集整理的Android,我看到堆增长,但我希望它停止全部内容,希望文章能够帮你解决Android,我看到堆增长,但我希望它停止所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)