activity生命周期知识点整理
Activity:
是一个应用组件,用户可与其提供的屏幕进行交互。窗口通常会充满屏幕,但也可以小于屏幕并浮动在其他窗口之上。
一个activity的什么周期:
启动运行状态( onCreat() onStart() onResume() )
暂停状态( onPause() )
停止状态( onStop() )
销毁状态( onDestory() )
onRestart从停止状态在此启用时调用
多个activity的生命周期状态(举例):
A activity B activity
onCteate
onStart
onResume
当A打开B的时候
onPause
onCreate
onStart
onResume
onStop
当B返回A的时候
onPause
onRestart
onStart
onResume
onStop
onDestory
Activity的横竖屏切换生命周期状态:
onCreate --> onStart --> onResume
切换:onPause --> onStop --> onDestroy
onCreate --> onStart --> onResume
A.切换时,有方法可以保存当前的一些数据
Protected void onSaveInstanceState( Bundle outState ){...}
将数据用putXxx( 键值对 );放入Bundle类型的数据outState中
在onCreate(...)方法中有参数Bundle saveInstanceState
可以,先判断If( saveInstanceState !== null ) 是否为空。
不为空,getXxx( 键值对 );取出数据,放入该放入的位置,完成。
C. 生命周期状态
onCreate --> onStart --> onResume --> onPause --> onSaveInstanceState -->
onStop --> onDestroy --> onCreate --> onStart --> onResume
小酌的小贴士:
1.activity的生命周期实际应用举例:
例如如果一个应用有背景音乐,当你切换到其他应用时,此应用暂停但没有销毁,背景音乐会一直存在,一直播放。
比如你进入了接电话的状态,但此应用也会一直播放音乐,造成用户的困扰。
所以你可以在此应用的暂停,停止状态时,做一些相应代码解决此问题。