研究这个问题的时候是因为退出android程序的时候总是用finish(); ,我记得还有一种方法就是:System.exit(0);
代码中我正好想看看点击退出的时候,Activity的生命周期是怎么样的,于是在项目中加了下面这些代码:
[java] view plaincopy
- @Override 
- protected void onPause() { 
- System.out.println("onPause"); 
- super.onPause(); 
- } 
- @Override 
- protected void onStop() { 
- System.out.println("onStop"); 
- super.onStop(); 
- } 
- @Override 
- protected void onDestroy() { 
- System.out.println("onDestroy"); 
- super.onDestroy(); 
- } 
 这样,我先测试第一种方法:finish();
调用后输出结果是这样的:
然后我又测试第二种方法:System.exit(0);
调用后测试结果是:没有任何的输出。
接着我采用第三种方法:android.os.Process.killProcess(android.os.Process.myPid());
测试的结果和第二种方法一样,没有任何的输出。
根据上面的测试结果可以看出,后两种方法相当于你用系统的任务管理器去直接结束任务,所以不去调用Activity生命周期,而第一种方法相当于正常关闭程序,所以调用了生命周期。。
恩恩,以上有什么错误欢迎大家指正。。
来源:oschina
链接:https://my.oschina.net/u/1434977/blog/210118