android 程序的几种退出方法

研究这个问题的时候是因为退出android程序的时候总是用finish(); ,我记得还有一种方法就是:System.exit(0);

代码中我正好想看看点击退出的时候,Activity的生命周期是怎么样的,于是在项目中加了下面这些代码:

[java] view plaincopy

  1. @Override  

  2.     protected void onPause() {  

  3.         System.out.println("onPause");  

  4.         super.onPause();  

  5.     }  

  6.     @Override  

  7.     protected void onStop() {  

  8.         System.out.println("onStop");  

  9.         super.onStop();  

  10.     }  

  11.     @Override  

  12.     protected void onDestroy() {  

  13.         System.out.println("onDestroy");  

  14.         super.onDestroy();  

  15.     }  

这样,我先测试第一种方法:finish();
调用后输出结果是这样的:

然后我又测试第二种方法:System.exit(0);
调用后测试结果是:没有任何的输出。
接着我采用第三种方法:android.os.Process.killProcess(android.os.Process.myPid());
测试的结果和第二种方法一样,没有任何的输出。
根据上面的测试结果可以看出,后两种方法相当于你用系统的任务管理器去直接结束任务,所以不去调用Activity生命周期,而第一种方法相当于正常关闭程序,所以调用了生命周期。。
恩恩,以上有什么错误欢迎大家指正。。


你可能感兴趣的:(android 程序的几种退出方法)