• android点滴(12) 1. Android横竖屏切换时,Activity的生命周期的变化(面试题)


    1.       Android横竖屏切换时,Activity的生命周期的变化。

    Activity的生命周期

    /Files/cody1988/ActivityLifeCycle.rar

    完整生命周期(the entire lifetime)

    onCreate , onDestroy 在创建和销毁的时候调用。在onCreate中初始化全局资源,在onDestroy中销毁资源。

     

    可见生命周期(the visible lifetime)

             onStart , onStop 这是Activity可见,但是未必可交互即未必在最前面。维护着用户可见的资源。

     

    前景周期(the foreground lifetime)

             onResume , onPause 此时Activity在最前面,可与用户交互。一个Activity可在ResumePause之间频繁的切换例如设备休眠。因此这两个方法中只有相当轻量级的调用。

     

    横竖屏切换时Activity的生命周期的变化与activityconfigChanges的配置有关。

     

    1.       configChanges不配置

    运行:

    初始时TextView显示的内容为“Hello World, LifeCycle!”,点击Button

            

    竖屏切换为横屏:

    此时TextView的内容重新变为“Hello World, LifeCycle!

    横屏切换为竖屏:

    2.       配置configChanges

     

    <activity android:name=".LifeCycle"

    android:configChanges="orientation"

             android:label="@string/app_name">

         ……

    </activity>

     

    运行,点击Button

    竖屏切换为横屏:

    没有发生变化

     

    横屏切换为竖屏:

                            没有发生变化

     

    结论:横竖屏切换时Activity的生命周期与configChanges的配置相关。1.如果不配置,则要先销毁Activity再创建,销毁的过程中会调用onSaveInstanceState,

    2.如果配置configChangesOrientation则不销毁

     

     

     

     

     

     

     

     

  • 相关阅读:
    监听事件 队列 邮件发送
    elasticsearch 天气
    elasticsearch
    event 监听事件
    observer 监听的实现 laravel 框架
    中间件
    git 代码 上传到码云
    laravel 省略入口文件 index.php
    limit offset 和limit
    CSS变形和动画
  • 原文地址:https://www.cnblogs.com/cody1988/p/2212854.html
Copyright © 2020-2023  润新知