首先介绍一下android中几组结束Activity、APP的方法以及特点。

       finish():结束当前的Activity,不会立即释放内存。遵循android内存管理机制。

       exit():  结束当前的Activity,并立即释放当前Activity的所占的资源。 

               注:exit(0)是正常退出,其他种情况都是异常退出。

       killProcess():  结束当前的Activity,并立即释放当前Activity的所占的资源。

       restartPackage():  结束整个APP,包括service等其他Activity组件。

              注: restartPackage()在android2.2 版本以后,不能将应用程序结束。

特别注意:

    除finish()方法可以自动调用Activity的生命周期方法如onStop(),onDestory()等,其余三种退出APP方法均不能调用Activity的生命周期方法。除非在调用这几个方法之前或之后主动调用Activity的声明周期方法。

如:system.exit(0);

       onDestory();

下面贴出android按下两次返回键强制退出整个APP的代码:

private void exit() {// TODO Auto-generated method stub       long clickTime = 0       if((System.currentTimeMillis() - clickTime ) > 2000){       Toast.makeText(getApplicationContext(), "再按一次后退键退出程序", Toast.LENGTH_SHORT).show();       clickTime = System.currentTimeMillis();       }else{             int currentVersion = android.os.Build.VERSION.SDK_INT;             if(currentVersion >android.os.Build.VERSION_CODES.ECLAIR_MR1){  //android 版本高于2.2               Log.e(TAG, "退出应用");               Intent startMain = new Intent(Intent.ACTION_MAIN);                 startMain.addCategory(Intent.CATEGORY_HOME);                 startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                 startActivity(startMain);                 System.exit(0);                }else{    //android版本低于2.2,android 2.2之后,restartPackage()不可以强制将整个APP退出。                 ActivityManager am = ( ActivityManager) getSystemService (ACTIVITY_SERVICE);                 am.restartPackage(getPackageName());                }             }        }


更多相关文章

  1. 深入了解android平台的jni(一)
  2. Android(安卓)线程 thread 两种实现方法!
  3. android滑动解锁
  4. Android(安卓)异步消息处理机制 让你深入理解 Looper、Handler、
  5. Android中播放视频的三种方式
  6. APK反编译软件以及方法
  7. Android(安卓)NestedScrolling嵌套滚动的示例代码
  8. ANDROID 完美退出 APP 方法
  9. 构建 Android(安卓)手机 RSS 阅读器

随机推荐

  1. GeenDao
  2. swift横空出世
  3. android开发我的新浪微博客户端-开篇
  4. 【Android】windows下使用android studio
  5. Android中的动画研究(一)
  6. Android(安卓)显示原理简介
  7. Android初级开发(八)——手机多媒体—音频
  8. FirefoxOS 系统进程初步分析 底层系统继
  9. 如何构建Android(安卓)MVVM 应用框架
  10. android平台现状分析