研究这个问题的时候是因为退出android程序的时候总是用finish(); ,我记得还有一种方法就是:System.exit(0);
调用后输出结果是这样的:
代码中我正好想看看点击退出的时候,Activity的生命周期是怎么样的,于是在项目中加了下面这些代码:
@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生命周期,而第一种方法相当于正常关闭程序,所以调用了生命周期。。
恩恩,以上有什么错误欢迎大家指正。。