<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 系統(tǒng)在Activity 生命周期中加入一些鉤子,我們可以在這些系統(tǒng)預(yù)留的鉤子中做一些事情。
    例舉了 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):創(chuàng)建activity時調(diào)用。設(shè)置在該方法中,還以Bundle中可以提出用于創(chuàng)建該 Activity 所需的信息。
    onStart():activity變?yōu)樵谄聊簧蠈τ脩艨梢姇r,即獲得焦點時,會調(diào)用。
    onResume():activity開始與用戶交互時調(diào)用(無論是啟動還是重新啟動一個活動,該方法總是被調(diào)用的)。
    onPause():activity被暫停或收回cpu和其他資源時調(diào)用,該方法用于保存活動狀態(tài)的。。
    onStop():activity被停止并轉(zhuǎn)為不可見階段及后續(xù)的生命周期事件時,即失去焦點時調(diào)用。
    onRestart():重新啟動activity時調(diào)用。該活動仍在棧中,而不是啟動新的活動。
    onDestroy():activity被完全從系統(tǒng)內(nèi)存中移除時調(diào)用,該方法被調(diào)用可能是因為有人直接調(diào)用 finish()方法 或者系統(tǒng)決定停止該活動以釋放資源。

    橫豎屏切換

    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

    再切回豎屏,發(fā)現(xiàn)不會再打印相同信息,但多打印了一行onConfigChanged

    onSaveInstanceState
    onPause
    onStop
    onDestroy
    onCreate
    onStart
    onRestoreInstanceState
    onResume
    onConfigurationChanged

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

    onConfigurationChanged

    6 切回豎屏

    onConfigurationChanged
    onConfigurationChanged

    總結(jié):

    1、不設(shè)置Activity的android:configChanges時,切屏?xí)匦抡{(diào)用各個生命周期,切橫屏?xí)r會執(zhí)行一次,切豎屏?xí)r會執(zhí)行兩次

    2、設(shè)置Activity的android:configChanges="orientation"時,切屏還是會重新調(diào)用各個生命周期,切橫、豎屏?xí)r只會執(zhí)行一次

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





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

    FeedBack:
    # re: [android] Activity 的生命周期 以及 橫屏豎屏切換時 Activity 的狀態(tài)變化[未登錄] 2012-04-22 02:02 dong
    cool,正需要。沒想到居然有這種變化啊  回復(fù)  更多評論
      
    主站蜘蛛池模板: 亚洲国产精品热久久| 色婷婷六月亚洲婷婷丁香| 国产精品亚洲综合网站| 亚洲国产精品一区二区第四页| 97在线免费观看视频| 亚洲日韩中文字幕天堂不卡| 日本19禁啪啪无遮挡免费动图| 久久99精品免费一区二区| 亚洲国产亚洲综合在线尤物| 在线观看免费精品国产| 1000部无遮挡拍拍拍免费视频观看 | 青草草在线视频永久免费| 全黄A免费一级毛片| 67pao强力打造67194在线午夜亚洲 | 亚洲av无码国产精品色在线看不卡 | 久久精品无码一区二区三区免费| 黄色毛片免费在线观看| 亚洲春色在线视频| 日本一道综合久久aⅴ免费| 99爱在线精品免费观看| 亚洲日韩在线观看免费视频| 亚洲国产av美女网站| 老司机亚洲精品影院| 久久精品亚洲视频| 免费播放特黄特色毛片| 日本视频一区在线观看免费| 深夜久久AAAAA级毛片免费看| 亚洲成aⅴ人片在线观| 亚洲高清美女一区二区三区| 久久亚洲精品人成综合网 | 最近中文字幕mv免费高清在线| 国产成人亚洲精品电影| 亚洲字幕AV一区二区三区四区| 久久国产亚洲电影天堂| 国产在线19禁免费观看| h视频在线观看免费网站| 91精品国产免费久久国语麻豆| 99久在线国内在线播放免费观看| fc2免费人成在线| 国产免费区在线观看十分钟| 日韩精品无码免费专区午夜|