轉自帶你領略Android Jetpack組件的魅力android
對於任何一個產品來講,咱們開發中都會面對哪些問題?如:產品交互、用戶體驗、代碼結構、數據獲取、數據存儲、網絡優化、任務調度等等,雖然在如今的階段這些問題已經有了很好的解決和優化,也有不少大神的開源組件方便開發者去使用,Android Jetpack就是Google給出的一個官方的處理方法(固然知識處理其中基本問題),Android Jetpack組件的優點:數據庫
Android Jetpack組件推薦的使用項目架構網絡
上面架構組件的功能以下:架構
按照谷歌推薦的項目架構配合Android Jatpack組件的使用,將會有不同的開發體驗,下面分析每一個組件如何幫咱們處理這些問題的。框架
應用程序的開發和產品與用戶的交互都是從UI開始的,用戶可見的和開發者操做的結果都顯示在界面上,因此界面的操做在卡法中佔據很重要的地位,也是影響咱們開發和使用體驗的重要部分,常見的問題如:UI的聲明週期處理、數據的顯示和刷新、註冊監聽的釋放等, Jetpack架構組件就能夠幫咱們規範化的解決他們。性能
Lifecycler是一個生命週期感知組件,執行操做以響應另外一個組件(例如活動和片斷)的生命週期狀態的更改,簡單來講它能夠監聽活動組件聲明週期的變化,在每一個聲明週期執行相應的方法,不一樣於以往想在生命週期中執行相應的方法須要設置接口,而後在聲明週期中回調接口,這樣會形成代碼的耦合,也會引起聲明週期的問題;優化
Lifecycler的實現主要使用兩個主要枚舉來跟蹤其關聯組件的生命週期狀態.net
Lifecycler爲每一個活動組件添加了一個沒有界面的Fragment,利用Fragment週期會根據活動聲明週期變化的特性實現的特性,從而實現聲明週期的感知,而後根據註解的Event查找執行相應的方法對象