ViewModel は onCleared() を自分が破棄されるときに実行します。
public abstract class ViewModel {
/**
* This method will be called when this ViewModel is no longer used and will be destroyed.
* It is useful when ViewModel observes some data and you need to clear this subscription to
* prevent a leak of this ViewModel.
*/
@SuppressWarnings("WeakerAccess")
protected void onCleared() {
}

👉 ViewModel の概要 | Android デベロッパー | Android Developers
ログを吐かせて、その瞬間を確認します。
初期化のタイミングと合わせて確認してみましょう。
@HiltViewModel
class HomeViewModel @Inject constructor() : ViewModel() {
// ...
init {
Timber.d("## ${javaClass.simpleName} initialized.")
}
override fun onCleared() {
Timber.d("## ${javaClass.simpleName} onCleared.")
}
}
...
21077-21077/com.example.app D/HomeViewModel: ## HomeViewModel initialized.
...
21077-21077/com.example.app D/HomeViewModel: ## HomeViewModel onCleared.
...
なんでいまさらこんなことを!
👉 【Jetpack Compose】ViewModel を捨てて Repository を Composable に直結する
👉 Compose を既存のアプリ アーキテクチャと統合する | Jetpack Compose | Android Developers





![ERROR: XMLRPC request failed [code: -32500] RuntimeError: PyPI's XMLRPC API is currently disabled due to unmanageable load and will be deprecated in the near future.](https://i0.wp.com/android.benigumo.com/wp-content/uploads/2022/05/d4106baab59fe6713374ce5ec1c7f81b.png?ssl=1)
