你好,欢迎访问我的博客!登录
当前位置:首页 - 技术 - 正文 君子好学,自强不息!

activity生命周期是多久,activity生命周期的使用技巧

2018-06-14 12:46:31技术admin26°c
A+ A-


Activity四种

1.当Activity位于栈顶时,此时正好处于屏幕最前方,此时处于运行状态;

2.当Activity失去了焦点但仍然对用于可见(如栈顶的Activity是透明的或者栈顶Activity并不是铺满整个手机屏幕),此时处于暂停状态;

3.当Activity被其他Activity完全遮挡,此时此Activity对用户不可见,此时处于停止状态;

4.当Activity由于人为或系统原因(如低内存等)被销毁,此时处于销毁状态;

在每个不同的状态阶段,Adnroid系统对Activity内相应的方法进行了回调。因此,我们在程序中写Activity时,一般都是继承Activity类并重写相应的回调方法。

先贴一张来自官方文档(http://developer.android.com/reference/android/app/Activity.html)的图,相信大家都看到过。

 

图中详细给出了Activity整个生命周期的过程,以及在不同的状态期间相应的回调方法。

启动模式的区别:standard    singleTop  singleTask   singleInstance

standard:每次激活Activity时(startActivity),都创建Activity实例,并放入任务栈; 

singleTop:如果某个Activity自己激活自己并且Activity处于栈顶,则不需要创 建,其余情况都要创建Activity实例;

singleTask:如果要激活的那个Activity在任务栈中存在该实例,则不需要创建,只需要把 此Activity放入栈顶,即把该Activity以上的Activity实例都pop,并调用其onNewIntent;

singleInstance:应用1的任务栈中创建了MainActivity实例,如果应用2也要激活 MainActivity,则不需要创建,两应用共享该Activity实例。

onSaveInstanceState的调用遵循一个重要原则,即当系统“未经你许可”时销毁了你的 activity,则onSaveInstanceState会被系统调用,这是系统的责任,因为它必须要提供一 个机会让你保存的数据。

至于onRestoreInstanceState方法,需要注意的是, onSaveInstanceState方法和onRestoreInstanceState方法“不一定”是成对的被调用 的。 

onRestoreInstanceState被调用的前提是,activity A“确实”被系统销毁了,而如果仅仅 是停留在有这种可能性的情况下,则该方法不会被调用,例如,当正在显示activity A的时 候,用户按下HOME键回到主界面,然后用户紧接着又返回到activity A,这种情况下 activity A一般不会因为内存的原因被系统销毁

故activity A的onRestoreInstanceState方 法不会被执行。

 另外,onRestoreInstanceState的bundle参数也会传递到onCreate方法中,你也可以选择 在onCreate方法中做数据还原。

切换横竖屏的生命周期:

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,

切横屏时会执行一次,切竖屏时会执行两次

2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调

用各个生命周期,切横、竖屏时只会执行一次

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,

切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

Activity运行时按下HOME键(跟被完全覆盖是一样的):

onSaveInstanceState -->onPause --> onStop  --> onRestart-->onStart--->onResume

Activity未被完全覆盖只是失去焦点:onPause--->onResume

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
activity生命周期是多久,activity生命周期的使用技巧

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>


  用户登录