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

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

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

    隨筆 - 35  文章 - 21  trackbacks - 0
    <2012年4月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    生命周期
    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被暫停或收回cpu和其他資源時調用,該方法用于保存活動狀態的。。
    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,正需要。沒想到居然有這種變化啊  回復  更多評論
      
    主站蜘蛛池模板: 免费一级毛片在播放视频| 性色av无码免费一区二区三区| 国产成人免费福利网站| 久久国产亚洲精品| 18禁止观看免费私人影院| 亚洲免费闲人蜜桃| 无码一区二区三区AV免费| 99999久久久久久亚洲| 免费人成视频在线| 亚洲高清国产拍精品熟女| 啦啦啦www免费视频| 黄色网址在线免费观看| 亚洲国产人成中文幕一级二级| 亚洲精品国产日韩无码AV永久免费网 | 精品国产日韩久久亚洲| 免费无遮挡无码视频网站| 亚洲av无码专区在线观看下载| 国产一级一片免费播放i| 特级做a爰片毛片免费看| 亚洲人成电影网站国产精品| 国产一级黄片儿免费看| 久久亚洲精品无码| 午夜宅男在线永久免费观看网| 亚洲国产成人久久精品软件| 亚洲第一页日韩专区| 日本道免费精品一区二区| 久久精品亚洲中文字幕无码麻豆| 美女视频黄的全免费视频网站| 国产精品亚洲专区无码牛牛| 精品亚洲视频在线观看| 7m凹凸精品分类大全免费| 亚洲va久久久久| 亚洲精品NV久久久久久久久久| 国产午夜免费高清久久影院| ASS亚洲熟妇毛茸茸PICS| 久久久久国产亚洲AV麻豆| ww4545四虎永久免费地址| 男女超爽视频免费播放| 亚洲av日韩av激情亚洲| 国产一级淫片免费播放| 99精品一区二区免费视频|