0. 序言
本文是深入理解 Android Archicture Components(AAC) 系列文章的開篇。
在 2017 年,Android 推出了 Android Jetpack,它是新一代元件、工具和架構指導,旨在加快 Android 應用開發速度。
Android Jetpack 分為四大塊:Architecture、UI、Foundationy 以及 Behavior,隨著時間的增加,Android 團隊在 Jetpack 又增添了許多元件,目前最新的版圖如下。
注意:2019 I/O 之後 Jetpack 又多了 CameraX 等,圖中還未包含。
(圖1-Android Jetpack)
1. Jetpack 架構元件
Jetppack 意在幫助我們開發者加快開發速度,能夠讓我們專注於自己的業務而不是花費大量時間去做一些相容等瑣碎的工作。
在我個人的體驗角度而言, Architecture
(架構元件) 對我的實際開發工作的幫助非常大。
Architecture 模組有著良好的相容性,並且架構元件裡的每個元件能夠幫助我們應對某一類 難題/痛點
:
Lifecycle
:能夠幫我們輕鬆的應對Activity/Fragment
的生命週期問題,能夠讓我們以一種更加解耦的方式處理生命週期的變化問題,以及輕鬆避免記憶體洩露;LiveData
:基於觀察者模式、並且感知生命週期的資料持有類,能夠幫助我們更好地解耦與處理資料;ViewModel
+Data Binding
:為我們在 Android 平臺上實現 MVVM 架構提供了非常有效而強大的支援;Room
:提供了一種更加友好高效的資料庫持久化的功能;WorkManager
:為我們執行後臺任務提供了一站式解決方案;Navigation
:能夠幫助我們更加方便地構建單 Activity 應用;Paging
:能夠幫助我們應對載入大資料問題;
2. 官方推薦的 Android 應用新架構
Android 在推出 架構元件 的同時,還推薦了一個適合 Android 應用的架構,各個元件組織起來,如下圖:
(圖 2-Android 應用新架構)
每個元件都關注自己的事情,互不干擾,讓我們的應用更加解耦且職責清晰。
為什麼我說 Android 應用架構新時代來臨?
因為,這似乎是 Android 團隊第一次官方推薦一種 Android 應用架構,在這之前,Android 應用開發一直沒有什麼官方主導推薦的架構。我們做開發,也一直都是比較隨意的,比如 MVC、MVP 甚至是 前端的 Flux 型別的架構都有在 Android 上被應用。而這一次一下子這麼多牛逼的架構元件,再加上官方架構指導,可以稱得上
Android 應用架構新時代來臨
了!3. 小結
很顯然了,架構元件對於我們來說具有非常大的實戰價值,我們必須去了解並學會它們!
架構元件 如此NB,我們應該如何更好地使用它們呢?
它們背後的原理是什麼樣子的呢?
不要著急,船長後續會寫一些列文章,來帶大家一起學習一下這 NB 的架構元件!
我建立了一個免費的星球來玩,從來沒有對外宣傳過,歡迎來玩。
免費加入、免費、免費。
4. 參考與推薦
jetpack官網:developer.android.com/jetpack
YouTube 系列:www.youtube.com/playlist?li…
Jetpack 釋出介紹:googledeveloperschina.blogspot.com/2018/05/and…
架構指南:developer.android.com/jetpack/doc…
App實戰指南:github.com/googlesampl…