android开发 怎么释放activity的全部内存
5个回答
展开全部
假如现在有三个activity,分别是main,a 和b .
a和b都是需要很大内存的,在main中打开a或b,在a或b中直接按返回键,或者直接调用finish,回到main后通过update heap观察刚才打开的activity占用的资源可以很快释放,如果是setResul后再调用finish回到main,发现内存被释放的事件要稍微久一些。
第二个问题,在main中打开a,然后在a中startActivity打开b,然后a.finish,这个时候观察a的内存并没有释放。如果在b中调用finish返回main后,a和b的内存就会被释放掉。
a和b都是需要很大内存的,在main中打开a或b,在a或b中直接按返回键,或者直接调用finish,回到main后通过update heap观察刚才打开的activity占用的资源可以很快释放,如果是setResul后再调用finish回到main,发现内存被释放的事件要稍微久一些。
第二个问题,在main中打开a,然后在a中startActivity打开b,然后a.finish,这个时候观察a的内存并没有释放。如果在b中调用finish返回main后,a和b的内存就会被释放掉。
展开全部
在Activity销毁之前释放资源,以及所有可能导致内存泄漏的引用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-04-05
展开全部
写一个集合,用来存放打开的所有的Activity,再写一个方法,用来退出应用的时候调用,退出时销毁这个集合
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是因为activity里的图片多导致的APP退出后手机变卡吧?
android没有提供这类方法,网上有人说在activity结束的时候setContentView为空,但是我测试过,是没有用处的,有种比较粗暴的方法。
退出APP的时候直接调用System.exit(0)或者restartPackage,我是这么做的。
android没有提供这类方法,网上有人说在activity结束的时候setContentView为空,但是我测试过,是没有用处的,有种比较粗暴的方法。
退出APP的时候直接调用System.exit(0)或者restartPackage,我是这么做的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ingly with a sense of re
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询