zoukankan      html  css  js  c++  java
  • Android之Activity在横竖屏切换时的生命周期

    先来张经典图镇楼...

    1.onWindowFocusChanged()的调用时机

    创建Activity的调用顺序
    锁定屏幕
    解锁屏幕
    该方法在Activity窗口获得或失去焦点时被调用,例如创建时首次呈现在用户面前;当前Activity被其他Activity覆盖;当前Activity转到其他Activity或按Home键回到主屏,自身退居后台;用户退出当前Activity。
    注:对于该方法,适合在onCreate中无法获取试图组件大小的时候使用。
     

    2.onSaveInstanceState

    (1)在Activity被覆盖或退居后台之后,系统资源不足将其杀死,此方法会被调用;
    (2)在用户改变屏幕方向时,此方法会被调用,此时比较适合保存临时数据。
    (3)在当前Activity跳转到其他Activity或者按Home键回到主屏,自身退居后台时,此方法会被调用。
     

    3.onRestoreInstanceState,一般重写以便获取在onSaveInstanceState保存的临时数据。

    (1)在Activity被覆盖或退居后台之后,系统资源不足将其杀死,然后用户又回到此Activity,此方法会被调用;
    (2)在用户改变屏幕方向时,重建的过程中,此方法会被调用。
     

    提高切换横竖屏的效率

    为避免切换横竖屏时,Activity的销毁重建过程,需要在AndroidMainfest.xml中对OrientationActivity对应的<activity>配置android:configChanges="orientation",测试结果如下,
    注:在android 4.0以上还须要加上screenSize,即android:configChanges="orientation|screenSize"才会使得切换横竖屏时调用onConfigurationChanged()方法。





  • 相关阅读:
    爬取毛概题库
    python爬虫抓取豆瓣电影
    青蛙的约会(POJ 1061 同余方程)
    1234: ZJTZYRC筛offer(并查集 )
    A Simple Math Problem(HDU 1757 构造矩阵)
    Number Sequence(HDU 1005 构造矩阵 )
    How many ways??(HDU 2157)
    线性结构上的动态规划
    Codeforces Round #427 (Div. 2)
    Codeforces Round #426 (Div. 2)
  • 原文地址:https://www.cnblogs.com/linux007/p/5787678.html
Copyright © 2011-2022 走看看