1、新的Activity的onResume调用前,当前Activity的onPause会先执行,因此不要在onPause里做耗时的操作,不然会影响新的Activity的显示。
2、打开新的Activity时,一般情况下,当前Activity会调用onPause->onStop,但如果新的Activity采用的是透明主题,那么当前Activity不会调用onStop。
3、异常情况下Activity被杀死会调用onSaveInstanceState, 此时可以做一些数据的保存,当Activity重新启动时,我们就可以通过onRestoreInstanceState进行恢复。onSaveInstanceState会在onStop之前调用,和onPause没有确定的先后顺序。系统默认也会保存一些数据进行恢复,如文本框输入的数据,ListView的滑动位置等,具体恢复什么数据可以查看各View的源码的OnSaveInstanceState方法。
4、Activity优先级:
前台Activity>可见但非前台(如弹出对话框,Activity可见但不可交互)>后台Activity,优先级越低,在内存不足时,越容易被销毁。
5、系统配置发生改变时,Activity会被销毁重建,若不想被销毁重建,可以给Activity添加orientation属性,如旋转屏幕时不进行重建:
android:configChanges="orientation"
若指定多个值可以用“|”进行连接。