-
Kotlin 如何預防 Launch 連發,搜尋任務
2025-11-14不管處理何種問題,我們都必須考慮是出於何種場景,就像是 使用者在 1 秒內點了 10 次。由於 launch 的天性是「射後不理 (fire-and-forget)」,你的 App 也會忠實地啟動 1…
-
Compose 三階段渲染管線
2025-10-14核心三階段 Compose 將 UI 的生成與更新拆解為三個依序執行的獨立階段,以實現最大化的工作重用與性能優化。 組合 (Composition): 此階段的核心任務是執行 @Composable…
-
inline, noinline, crossinline:存在即合理
老樣子,存在必合理,有這樣的 Keyword ,那肯定是前人有過不去的坎,所以才設計出這個要想一想的概念 問題:優雅的 Lambda,不堪重負的 GC Kotlin 的高階函數與 Lambda 是偉大…
-
DisposableEffect 與 LifecycleEventObserver
2025-09-21在 Jetpack Compose 中,通常會使用 DisposableEffect 來與 LifecycleEventObserver 互動,以便在 Composable 中安全地監聽 Androi…
-
CreationExtras.inventoryApplication() 這有點跳
2025-09-14CreationExtras 到底是什麼? CreationExtras 是一個在 ViewModel 創建時自動附帶的「額外資訊包裹」。 以前,想給 ViewModel 傳參數(如 SavedSta…
-
Communicate with fragments
2025-08-21參考原文 請忘掉 getActivity() 或 findFragmentByTag()。 現代化的 Fragment 通訊,核心是「中介者模式」。你有兩種武器:ViewModel 和 Fragmen…
-
kotlin init 前初始化屬性會發生啥事
2025-08-17Kotlin 的 class 內部,在初始化階段,是無情地由上到下執行的。 Kotlin // 下面這樣寫會發生啥事,不會發生啥事,因為編譯不過,所以不能跑 class ItemEditViewMod…
-
@Immutable @Stable 如果 immutableList 內包含 list .這樣會造成 recompstion 嗎?
2025-08-05會.結束 1. List 會造成嚴重的重組問題嗎?在哪種情況? 答案是:會,而且絕對比你想像的更嚴重。 kotlin.collections.List 在 Compose 的世界中被視為「不穩定 (U…
-
Hilt 指南 組內分享
2025-07-26市場上已經很多依賴注入套件(dagger , koin)的選擇 ,還有很多文章介紹了,我會選擇 hilt 很單純,就是對於各類 mvvm 的物件,有魔法般的支援,真的少非常多代碼,選擇hilt 並非絕…
-
handle all repostiory operation that out of Composable/ViewModel scope
2025-07-21作法一:async + await(我要結果,但任務不能停) 這招的核心是「分離執行與等待的生命週期」。Repository 接受一個長壽的 externalScope,用 async 把任務丟進去獨…
