StateFlow là lựa chọn ưu tiên cho code mới (2025) — tích hợp tự nhiên với coroutine, luôn có value non-null có thể đọc an toàn, và hoạt động tốt với Compose.
- LiveData lifecycle-aware và tự động unsubscribe nhưng đang ở chế độ maintenance.
- StateFlow yêu cầu initial value; LiveData thì không.
- Khi dùng StateFlow trong Fragment, observe trong
repeatOnLifecycleđể tránh memory leak.