做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);
}
相关文章
- 最常见的8个Android内存泄漏问题及解决方法
- android4.2 高用zing拍照后,返回其它页面操作时,主线程关掉或程序退出的问题解决
- Redis --- redis事务和分布式事务锁-事务过程中失败有两种可能: Redis 命令只会因为错误的语法而失败(并且这些问题不能在入队时发现),或是命令中用在了错误类型的键上面,所以如果在生产环境中你使用的正常命令,那么在 Redis 事务中,是不会出现错误而导致回滚的。 来自文档:Redis commands can fail only if called with a wrong syntax... 事务执行一半,Redis宕机。如果 Redis 服务器因为某些原因被管理员杀死,或者遇上某种硬件故障,那么可能只有部分事务命令会被成功写入到磁盘中。如果 Redis 在重新启动时发现 AOF 文件出了这样的问题,那么它会退出,并汇报一个错误。使用redis-check-aof程序可以修复这一问题:它会移除 AOF 文件中不完整事务的信息,确保服务器可以顺利启动 注意: 若在事务队列中存在命令性错误(类似于java编译性错误),则执行EXEC命令时,所有命令都不会执行 若在事务队列中存在语法性错误(类似于java的1/0的运行时异常),则执行EXEC命令时,其他正确命令会被执行,错误命令抛出异常。 Redis 官网也解释了自己为啥不支持回滚。简单来说就是 Redis 开发者们觉得没必要支持回滚,这样更简单便捷并且性能更好(回滚还需要解决回滚事务覆盖的问题)。Redis 开发者觉得即使命令执行错误也应该在开发过程中就被发现而不是生产过程中。
- 解决Android后台清理APP后,程序自动重启的问题
- 微星B450主板为硬件保留内存太大释放教程 AMD和迫击炮钛金版主板和amd处理器还有骇客神条的内存提示灯亮不开机 兼容性问题解决保留内存。
- Android平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限策略及提示信息,解决uniapp上传华为应用市场提示获取手机存储敏感权限,用户不同意时强制退出应用的问题
- Android有效解决加载大图片时内存溢出的问题
- Android开发中如何解决加载大图片时内存溢出的问题
- android解决内存溢出的问题(没有从根本上解决)
- 解决PEnetwork启动的时候提示"An error occured while starting the "TCP/IP Registry Compatibility" Service (2)!"程序将立即退出的问题