广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-03 22:30:57 次阅读 稿源:互联网
    广告
    做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);
    }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告