杀死Android上的活动不会清除内存?

杀死Android上的活动不会清除内存?,第1张

概述我有一个在android上运行的游戏.基本上,它的结构就像月球人我开始活动,使用布局开始运行类.<?xmlversion="1.0"encoding="utf-8"?><FrameLayoutxmlns:android="http://schemas.android.com/apkes/android"android:layout_width="match_parent"andro

我有一个在android上运行的游戏.

基本上,它的结构就像月球人

我开始活动,使用布局开始运行类.

<?xml version="1.0" enCoding="utf-8"?><FrameLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent"> <my.darling.gameVIEw    androID:layout_wIDth="match_parent"     androID:layout_height="match_parent"/></FrameLayout>

当我按下主页时,我可以每次都返回游戏.我总是关闭线程并创建一个新线程.

当我按BACK botton时出现问题.

我认为我的比赛结束了.但经过4次“点击游戏”后-> “点击返回”

出现错误-> “意外停止”

我已经重写了函数:onPause()并称为finish().但是它仍然发生.

谁能帮我?

解决方法:

我面临的问题是:

我在UIthread中分配了一些位图.如果按BACK(返回)按钮,系统不会释放内存.

即使活动被销毁,它也不会退还Bitmap使用的内存.

因此,当我尝试通过在BACK和游戏之间来回按下来测试游戏时,由于缺少外部内存,VM关闭了.

我从资源中解码的位图已填满我的全部内存.

修复它的最简单方法:

protected voID onPause(){    super.onPause();    System.gc();}

因为在AndroID中存在清理位图内存的错误.我们手动调用GC强制其清理位图.这是一个错误.

或使用Bitmap.recycle()(如果要立即释放Bitmap).

http://mobi-solutions.blogspot.com/2010/08/how-to-if-you-want-to-create-and.html

http://code.google.com/p/android/issues/detail?id=8488

总结

以上是内存溢出为你收集整理的杀死Android上的活动不会清除内存?全部内容,希望文章能够帮你解决杀死Android上的活动不会清除内存?所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存