分類: 現代 Android 開發
-
kotlin init 前初始化屬性會發生啥事

在寫 Kotlin 時,我們常常會把變數宣告放在後面,或者在 init 裡做一堆初始化的事。 但很多人沒搞清楚…
-
@Immutable @Stable 如果 immutableList 內包含 list .這樣會造成 recompstion 嗎?

先說答案:會,而且這絕對是寫 Jetpack Compose 最容易被陰的坑。 很多人以為外層包了一層 Imm…
-
Hilt 指南 組內分享

市場上已經很多依賴注入套件(dagger , koin)的選擇 ,還有很多文章介紹了,我會選擇 hilt 很單…
-
handle all repostiory operation that out of Composable/ViewModel scope

作法一:async + await(我要結果,但任務不能停) 這招的核心是「分離執行與等待的生命週期」。Rep…
-
Difference between constructors and init in kotlin

原文 誰負責「定義」?誰負責「執行」? 在 Kotlin 中,Object 創建是個有順序的過程。constr…
-
Jetpack Compose: 何時該用 derivedStateOf?

官方導讀 derivedStateOf 是一個效能優化工具,專門用來防止因「來源狀態」變化過於頻繁而導致的**…
-
viewModelScope vs rememberCoroutineScope 其實沒啥好 versus ,就是 SOC 職責分離

viewModelScope:與 ViewModel 的生命週期綁定,只能用在資料/邏輯層。 remember…
-
SupervisorJob 不就是 viewModelScope嗎?

Job 不僅僅是 launch 的回傳值,它是我們管理 Coroutine 的「遙控器」。 Job : Job…
-
fun GameScreen(gameViewModel: GameViewModel = GameViewModel()) 這樣寫有啥問題?

直接 new GameViewModel() class GameViewModel : ViewModel(…
-
麻煩 ViewModelProvider.Factory 你了,因為系統不讓我直接 new 一個 ViewModel

這個規範是為了解決 Android 元件生命週期不一致所帶來的大問題。 ## 保險箱 ** 開發者** Act…