<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 35  文章 - 21  trackbacks - 0
    <2011年9月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    生命周期
    Android 系統在Activity 生命周期中加入一些鉤子,我們可以在這些系統預留的鉤子中做一些事情。
    例舉了 7 個常用的鉤子:
    protected void onCreate(Bundle savedInstanceState)
    protected void onStart()
    protected void onResume()
    protected void onPause()
    protected void onStop()
    protected void onRestart()
    protected void onDestroy()

    簡要說明:
    onCreate(Bundle savedInstanceState):創建activity時調用。設置在該方法中,還以Bundle中可以提出用于創建該 Activity 所需的信息。
    onStart():activity變為在屏幕上對用戶可見時,即獲得焦點時,會調用。
    onResume():activity開始與用戶交互時調用(無論是啟動還是重新啟動一個活動,該方法總是被調用的)。
    onPause():activity被暫?;蚴栈豤pu和其他資源時調用,該方法用于保存活動狀態的。。
    onStop():activity被停止并轉為不可見階段及后續的生命周期事件時,即失去焦點時調用。
    onRestart():重新啟動activity時調用。該活動仍在棧中,而不是啟動新的活動。
    onDestroy():activity被完全從系統內存中移除時調用,該方法被調用可能是因為有人直接調用 finish()方法 或者系統決定停止該活動以釋放資源。

    橫豎屏切換

    1 切換到橫屏
    onSaveInstanceState
    onPause
    onStop
    onDestroy
    onCreate
    onStart
    onRestoreInstanceState
    onResume

    2 切換到豎屏,銷毀了兩次
    onSaveInstanceState
    onPause
    onStop
    onDestroyonCreate
    onStart
    onRestoreInstanceState
    onResume
    onSaveInstanceState
    onPause
    onStop
    onDestroy
    onCreate
    onStart
    onRestoreInstanceState
    onResume

    3 修改AndroidManifest.xml,把該Activity添加 android:configChanges="orientation",切橫屏,只銷毀一次。

    onSaveInstanceState
    onPause
    onStop
    onDestroy
    onCreate
    onStart
    onRestoreInstanceState
    onResume

    再切回豎屏,發現不會再打印相同信息,但多打印了一行onConfigChanged

    onSaveInstanceState
    onPause
    onStop
    onDestroy
    onCreate
    onStart
    onRestoreInstanceState
    onResume
    onConfigurationChanged

    5 更改 android:configChanges="orientation" 改成 android:configChanges="orientation|keyboardHidden",切橫屏,就只打印onConfigChanged

    onConfigurationChanged

    6 切回豎屏

    onConfigurationChanged
    onConfigurationChanged

    總結:

    1、不設置Activity的android:configChanges時,切屏會重新調用各個生命周期,切橫屏時會執行一次,切豎屏時會執行兩次

    2、設置Activity的android:configChanges="orientation"時,切屏還是會重新調用各個生命周期,切橫、豎屏時只會執行一次

    3、設置Activity的android:configChanges="orientation|keyboardHidden"時,切屏不會重新調用各個生命周期,只會執行onConfigurationChanged方法





    posted on 2011-09-16 10:32 lincode 閱讀(3370) 評論(1)  編輯  收藏 所屬分類: android

    FeedBack:
    # re: [android] Activity 的生命周期 以及 橫屏豎屏切換時 Activity 的狀態變化[未登錄] 2012-04-22 02:02 dong
    cool,正需要。沒想到居然有這種變化啊  回復  更多評論
      
    主站蜘蛛池模板: 2021在线观看视频精品免费| 亚洲国产精品综合久久2007| 国产成人综合亚洲亚洲国产第一页 | 国产一区在线观看免费| 最近最好的中文字幕2019免费| 精品女同一区二区三区免费站| 91青青国产在线观看免费| 97在线视频免费公开观看| 最近2019中文字幕免费大全5| 亚洲免费视频网站| 最近高清中文字幕免费| 五月婷婷综合免费| 大地资源二在线观看免费高清| 永久免费毛片在线播放| 午夜高清免费在线观看| 四虎永久在线精品免费观看地址| 国产一级理论免费版| 亚洲精品岛国片在线观看| 国产成人麻豆亚洲综合无码精品 | 日韩免费观看视频| 一本久到久久亚洲综合| 久久精品国产精品亚洲人人| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 黄页网站免费观看| 看全色黄大色大片免费久久| yy6080久久亚洲精品| 国产亚洲成av人片在线观看| 亚洲欧洲第一a在线观看| 亚洲不卡在线观看| 久久精品国产亚洲AV未满十八| 美女羞羞免费视频网站| 91成人免费观看在线观看| 暖暖免费日本在线中文| 午夜福利不卡片在线播放免费| 免费鲁丝片一级观看| 久久久久久A亚洲欧洲AV冫| 亚洲Aⅴ无码专区在线观看q| 亚洲一卡2卡4卡5卡6卡在线99| 亚洲国产精品网站在线播放| 成年网在线观看免费观看网址| 久久国产乱子伦精品免费强|