1 1. Act的生命周期、异常退出的数据保存、恢复及跳转
2
3 2. Act生命周期函数
4 onCreate // 创建Act实例时调用,调用结束,实例就创建成功。通常进行一些数据的初始化,比如获取控件、申请数组或集 合的内存、变量赋值
5 onRestart // Act停留在onStop但是没有onDestory
6 onStart // 该方法在onCreate或者onRestart之后调用,调用之后,Act进入可视生命周期
7 onResume // onStart之后调用,调用该方法后Act进入活动(运行、前台)状态,可以和用户进行交互,比如响应用户的输入 、点击、触摸等操作
8 onPause // 在onResume之后,系统启动了其他的Act,并且这Act要获取焦点以便于和用户交互、调用该方法后,此Act就不 能继续和用户交互,用户自定义的一些数据可以在此方法中进行保存
9 onStop // onPause之后进行调用,一旦调用onStop,Act就退出了可视状态,但是Act实例并没有销毁
10 onDestroy // 此方法是在销毁Act的时候调用,一旦调用表明该Act实例的生命周期就结束了,通常会在此方法做一些释放资 源的操作,比如将引用变量值置为null
11
12 3. 一些常见操作对于生命周期迁移的影响
13 HOME键:onPause——>onStop
14 重新激活Act:onRestart——>onStart——>onResume。。。。
15 BACK键:onPause——>onStop——>onDestroy
16 重新激活会重建新的Act实例:onCreate——>onStart——>onResume。。。。
17 有电话进来:onPause——>onStop
18 电话结束后,重新激活Act:onRestart——>onStart——>onResume。。。。
19 切换屏幕方向或者语言等(没有在AndroidManifest.xml中进行configs的设置):
20 会首先销毁当前的Act实例:onPause——>onStop——>onDestroy
21 然后会重建新的Act实例:onCreate——>onStart——>onResume。。。。
22 此情况,如果需要保存之前Act的状态信息,可以放在onSavedInstanceState方法中进行
23 恢复的工作可以放在onCreate或者onRestoreInstanceState方法中
24 切换语言或者屏幕方向(在AndroidManifest.xml中进行configs的相关设置)
25 不会重建Act,在此情况下如果需要对UI进行更新,把该操作放在onConfigurationChanged中实现
26
27 4. Act的跳转
28 startActivity方法进行跳转的具体步骤
29 1. 创建Intent对象
30 Intent myIntent = new Intent();
31 2. 给该Intent对象设置当前类和目标类
32 myIntent.setClass(MainActivity.this, TargetActivity.class);
33 3. 如果需要携带数据进行跳转
34 myIntent.putExtra("key", "Hello");
35 4. 启动Act
36 startActivity(myIntent);