-
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 […]
-
Android 爛裝置想跑人臉辨識5 – GC 是唯一會關心你 OOM 的好人

前兩篇我們像泥水匠一樣,用 ZRAM 補漏洞,用 LMKD 築高牆,終於保證了人臉辨識主程式不會被系統外部的死 […]
-
Android 爛裝置想跑人臉辨識4 – 記憶體控場師LMKD

《殺的不是 Process,是我的幹話時間》 【你以為關掉幾個沒用的 system service 就解決了?】 別天真了,Android 本來就有一套「快爆了我來殺人」的內建機制,名為: Low-M…
-
Thread 和 Coroutine 的理解

參考文章 簡單來說,Thread (執行緒) 是由作業系統 (OS) 來管理和調度的,而 Coroutine […]
-
The Clean coder: 無瑕的程式碼 番外篇 – 書摘心得

之前看完 無暇的程式碼 本篇,深深覺得這作者一定曾在職場上會被玩過好幾輪(如果是在台灣的話),雖然裡面的內容很實在,我也很認同,但是實際上到底可不可能,又是一回事吧,又或者他其實是拼了老命搞起來,比在…
-
Clean code: 無瑕的程式碼 – 書摘心得(二)

程式與程式的邊界,第三方函式庫總是希望功能越強,但是總要有個邊界,才不會無限延伸。進而反被控制 承 Clean code: 無暇的程式碼 – 書摘心得(一)