一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - android生命周期深入分析(一)

android生命周期深入分析(一)

2020-12-24 14:56Android教程網 Android

Android 程序的生命周期是由系統控制而非程序自身直接控制,本文將詳細介紹,需要的朋友可以參考下

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時調用。設置在該方法中http://www.myexception.cn/,還以Bundle中可以提出用于創建該 Activity 所需的信息。
onStart():activity變為在屏幕上對用戶可見時,即獲得焦點時,會調用。
onResume():activity開始與用戶交互時調用(無論是啟動還是重新啟動一個活動,該方法總是被調用的)。
onPause():activity被暫停或收回cpu和其他資源時調用,該方法用于保存活動狀態的。。
onStop():activity被停止并轉為不可見階段及后續的生命周期事件時,即失去焦點時調用。
onRestart():重新啟動activity時調用。該活動仍在棧中,java.io.UnsupportedEncodingException而不是啟動新的活動。
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

4 再切回豎屏,發現不會再打印相同信息,但多打印了一行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方法

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91麻豆国产精品91久久久 | 91精品国产色综合久久不卡蜜 | 亚洲女bbwxxxx另类 | 免费一级生活片 | 深夜福利在线播放 | 亚洲精品成人A8198A片漫画 | 波多野给衣一区二区三区 | 亚洲国产香蕉视频欧美 | 国产二区视频 | 国产精品久久一区 | 欧美日韩亚洲综合在线一区二区 | 精品欧美| 男人狂擦女人的下面视频 | 1024免费福利永久观看网站 | 四虎最新永久免费网址 | 无码毛片内射白浆视频 | 咪咪爱在线视频 | 毛片免费在线视频 | 日韩视频免费 | 2021国产麻豆剧传媒新片 | 舔大逼 | 国产精品一级香蕉一区 | 女八把屁股扒开让男生添 | 非洲黑人bbwbbwbbw | 大肥臀风间由美 中文字幕 大东北chinesexxxx露脸 | 青山葵在线 | 娇妻终于接受了3p的调教 | 亚洲精品久久久久福利网站 | 国产日韩欧美综合在线 | 欧美人与日本人xx在线视频 | 国产亚洲精品一区在线播 | 亚洲精品在线免费观看视频 | 思思99热久久精品在2019线 | 国产剧情一区二区三区 | 色吧欧美| 欧美日韩国产一区二区三区在线观看 | 无人区在线观看免费国语完整版 | 欧美日韩精品免费一区二区三区 | 久久这里有精品 | 亚洲区精品 | xxnx日本免费护士 |