日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

系列文章目錄

第一章 Android: 徹底搞懂Lifecycle——使用篇
第二章 Android: 徹底搞懂Lifcycle——原理篇


 

 


前言

你真的了解lifecycle嗎?本文的目標就是要“打破砂鍋問到底”,帶你真真切切了解它。
lifecycle生命周期


一、Lifecycle是什么?

lifecycle 是屬于Android Jetpack(官方開發工具包)—— Architecture(架構組件)中的一員。

【官方介紹】構建生命周期感知型組件,這些組件可以根據 Activity 或 Fragment 的當前生命周期狀態調整行為。

【白話】lifecycle可以和Activity或Fragment生命周期綁定,方便我們做一些跟生命周期相關的業務邏輯。

1. 應用場景

  • 控制視頻緩沖的開始與停止:啟動App的時候可以更快的開始緩沖視頻,App銷毀時停止緩沖。
  • 開始和停止網絡連接:應用位于前臺時可能需要實時傳輸數據,并在應用進入后臺時自動暫停。
  • 控制頁面動畫的啟動與停止:動畫在頁面可見時進行播放,不可見時停止。

2. 示例

為了方便李(理)姐(解),下面直接用偽代碼寫了。

class MainActivity: AppCompatActivity{
	/**網絡監聽器*/
	val .NET = NetListener()
	/**視頻播放器*/
	val mPlayer = VideoPlayer()
	
	override fun onStart(){
		mNet.connect()// 網絡開始連接
		mPlayer.startCache()// 視頻開始緩沖
		耗時任務()
		// 其他業務邏輯...
	}
	
	override fun onStop(){
		mNet.cancel()// 網絡斷開
		mPlayer.releaseCache()// 視頻釋放緩存
		// 其他業務邏輯...
	}
}

這是很常見的寫法,我們在生命周期的回調方法中做了很多事情,一旦代碼多了后,是很難維護的。

另外,在頁面停止時,其他生命周期(如onStart)有耗時任務,這時有可能onStop先結束,而耗時的組件,還存在。

隨著業務復雜,也容易出bug, 讓本不富裕的家庭,雪上+霜

分享到:
標簽:Android
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定