设为首页 加入收藏

TOP

Android 应用退出时释放应用所占内存
2014-11-24 11:25:11 来源: 作者: 【 】 浏览:0
Tags:Android 应用 退出 释放 内存

我认为造成这样的原因是还有开启的activity没有被destroy,然后做调试,之后发现开启的activity应该是全部都被


destroy了.但是结果还是显示可以点击"强制关闭".


由于这个问题我发现了一个更加严重的问题,那就是,在我应用程序退出之后,系统并没有释放掉我应用程序所占内存.


之后在网上查解决办法.说是有两个:


方式一:




Intent intent = new Intent(Intent.ACTION_MAIN);


intent.addCategory(Intent.CATEGORY_HOME);


intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);


this.startActivity(intent);


System.exit(0);



android.os.Process.killProcess(android.os.Process.myPid());


----------------------------------------------------------------------------------------------------------------------------------------------------------------------


有的人说可以结束掉应用程序,但是不知道什么原因,我在试用了这两个方法之后都还是不能结束掉我的应用程序.


在在点击"设置"查看我应用的时候,界面还是显示可以点击"强制关闭".


但是,用这两个方法是可以释放掉应用程序所占内存的.


严重的问题解决了,那个可以点击"强制关闭"的问题貌似也不会造成什么影响.所以这个问题我也没解决了.


最后说下这两种方式和在哪使用吧.


第一种方式是退出虚拟机,使用这种方式,要注意的是,如果设备装有两个或多个应用中的activity的Category为HOME的


应用,那么每当退出这个应用的时候,设备都会让用户选择进入到哪个应用.


第二种方式是kill掉当前应用进程.它不会发生让用户选择进入哪一个应用这种情况.


在哪里使用的话,一般是在最后一个activity的onDestroy()方法中使用这两种方法



@Override


protected void onDestroy() {


// TODO Auto-generated method stub


super.onDestroy();



// release application's RAM


Intent intent = new Intent(Intent.ACTION_MAIN);


intent.addCategory(Intent.CATEGORY_HOME);


intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);


this.startActivity(intent);


System.exit(0);


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android TextView一行只显示一个.. 下一篇Android ListView分页显示

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python 数据分析与可 (2025-12-26 21:51:20)
·从零开始学Python之 (2025-12-26 21:51:17)
·超长干货:Python实 (2025-12-26 21:51:14)
·为什么 Java 社区至 (2025-12-26 21:19:10)
·Java多线程阻塞队列 (2025-12-26 21:19:07)