1.活动的生命周期
以上7个方法中除了onRestart() 方法,其他都是两两相对的,从而又可以将活动分为3种生存期。
- 完整生存期 。活动在onCreate() 方法和onDestroy() 方法之间所经历的,就是完整生 存期。一般情况下,一个活动会在onCreate() 方法中完成各种初始化操作,而 在onDestroy() 方法中完成释放内存的操作。
- 可见生存期 。活动在onStart() 方法和onStop() 方法之间所经历的,就是可见生存 期。在可见生存期内,活动对于用户总是可见的,即便有可能无法和用户进行交互。我们 可以通过这两个方法,合理地管理那些对用户可见的资源。比如在onStart() 方法中对资 源进行加载,而在onStop() 方法中对资源进行释放,从而保证处于停止状态的活动不会 占用过多内存。
- 前台生存期 。活动在onResume() 方法和onPause() 方法之间所经历的就是前台生存 期。在前台生存期内,活动总是处于运行状态的,此时的活动是可以和用户进行交互的, 我们平时看到和接触最多的也就是这个状态下的活动。
2.活动被回收后临时数据的保存与恢复
- 在活动中重写onSaveInstanceState方法:
@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
String myData = "This is my data!!";
outState.putString("myDataKey",myData);
}
- 在onCreate方法中恢复数据
protected void onCreate(Bundle savedInstanceState) {