美文网首页
Activity锁屏状态下的生命周期

Activity锁屏状态下的生命周期

作者: 仁昌居士 | 来源:发表于2017-04-21 17:13 被阅读0次
        Activity在锁屏状态下的生命周期是怎么样的呢?
    

    我在此做出总结:
    对于锁屏状态,我们分两种情况考虑,1、屏幕方向不会发生改变,2、AndroidManifest.xml文件中没有指定屏幕方向,屏幕方向可以发生改变。
    1、在AndroidManifest.xml文件中指定了屏幕方向,则Activity在锁屏和开启屏幕的时候执行的方法和顺序是:
    锁屏:
    TestActivity onPause--->TestActivity onStop
    开启屏幕:
    TestActivity onRestart--->TestActivity onStart--->TestActivity onResume
    2、如果在AndroidManifest.xml文件中没有指定屏幕方向,则Activity在锁屏时候执行的方法和顺序是:
    锁屏:
    TestActivity onPause--->TestActivity onStop--->TestActivity onDestory
    onPause销毁之后又新建。
    TestActivity onCreate--->TestActivity onStart--->TestActivity onResume--->TestActivity

    开启屏幕:
    TestActivity onResume--->TestActivity onPause--->TestActivity onStop--->TestActivityy onDestory--->TestActivity onCreate--->TestActivity onStart--->TestActivity onResume。对于这种,锁屏后再次开启屏幕会销毁两次,重建两次。
    第二种情况的解决办法:在清单文件里activity标签下配置android:configChanges="orientation|screenSize"
    。注意application标签下配置不起作用。
    补充说明:
    1、 landscape 是屏幕横向,portrait 是屏幕纵向 通过android:screenOrientation属性设置
    2、 android:configChanges="keyboardHidden|orientation"
    这两句为设置横屏和竖屏,在屏幕切换的时候默认为重新走OnCreate方法,当设置了configChange之后就不会再重新走onCreate方法,不会再两次创建两次销毁

    相关文章

      网友评论

          本文标题:Activity锁屏状态下的生命周期

          本文链接:https://www.haomeiwen.com/subject/ayndzttx.html