android:process 可以设置两个activity是不是在同一个进程之中。
分为根Activity和子Activity。
MainActivity是有launcher来启动的,而launcher是由ActivityManagerService启动的。 他们运行在不同的进程之后,所有要用到进程间通信。
Activity的原理介绍:Android Activity原理分析
Activity作为四大组件中用的最多的组件,主要涉及它的生命周期和跳转。
一、生命周期
有关生命周期的一篇文章,android基础知识04:组件生命周期(一):activity
1.所有的方法onCreate onStart onRestart onResume onPause onStop onDestroy 七个。
2.前四个为启动,后四个为销毁。
3.正常启动一个Activity执行,onCreate->onStart->onResume,点击返回按钮执行onPause->onStop->onDestory销毁。
4.执行完打电话时执行,onPause->onStop。打完电话执行onRestart->onStart->onResume方法。
5.onStart() 和 onStop() 方法可以随着应用程序是否为用户可见而被多次调用。 Activity的可视生命周期自onStart()调用开始直到相应的onStop()调用结束。onStart() 和 onStop() 方法可以随着应用程序是否为用户可见而被多次调用。 前台生命周期自onResume()调用起,至相应的onPause()调用为止。
6.注意killable这列,它指明了进程在调用方法返回后是否可以被系统杀死,而不执行其他的代码。onPause(), onStop(), and onDestroy()这三个方法可以,因为onPause方法首先被执行,他是唯一一个一定会被调用的方法当进程被杀死时,但是onStop()和onDestroy()方法不会。因此,你可以在onPause()方法里保存一些连续的数据,例如编辑。 --------------------进程被杀掉有时候无法保存数据状态。。。