Android,我看到堆增长,但我希望它停止

Android,我看到堆增长,但我希望它停止,第1张

概述我看到我的堆越来越多了,我知道它会最终在任何设备上崩溃,因为它会不断增长.成长堆(fragcase)在整个日志中都可以看到在我的手机上它会使用32mb的应用程序崩溃.其他手机当然是16mb,如果有少量资源运行Android2.2现在,我在我的位图上使用recycle(),将事物设置为null,从复杂数

我看到我的堆越来越多了,我知道它会最终在任何设备上崩溃,因为它会不断增长.

成长堆(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,我看到堆增长,但我希望它停止所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1120133.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存