android 退出程序解决内存释放的问题

姚小小莹

姚小小莹

2016-02-19 11:30

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。
做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);
}
展开更多 50%)
分享

猜你喜欢

android 退出程序解决内存释放的问题

编程语言 网络编程
android 退出程序解决内存释放的问题

Android 完全退出应用程序的解决方法

编程语言 网络编程
Android 完全退出应用程序的解决方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Android程序退出完美解决方案兼容所有SDK

编程语言 网络编程
Android程序退出完美解决方案兼容所有SDK

Android 按后退键退出Android程序的实现方法

编程语言 网络编程
Android 按后退键退出Android程序的实现方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

关于ie的内存泄漏与javascript内存释放

Web开发
关于ie的内存泄漏与javascript内存释放

快速释放iPhone内存方法

iphone iPhone 5s iPhone 6 iphone刷机
快速释放iPhone内存方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何让Mac OS X系统Finder直接显示文件信息

如何让Mac OS X系统Finder直接显示文件信息

android 检测耳机是否插入方法

android 检测耳机是否插入方法
下拉加载更多内容 ↓