Иногда у меня во ViewModel есть функция, похожая на эту:
@SuppressLint("CheckResult")
fun storeImportantUserAction(someData: SomeData) {
storage.store(someData)
.subscribeOn(Schedulers.io())
.subscribe()
}
Я намеренно не храню одноразовые и утилизирую их, когда пользователь покидает экран, потому что я определенно хочу, чтобы эти данные былисохранены и не имеют возможности для пользователя прервать это, нажав кнопку назад.
Я предполагаю, что это приведет к утечке фрагмента до тех пор, пока поток хранилища не завершится, а затем следующая сборка мусора успешно соберет фрагмент. Это правильно? Вы бы порекомендовали этот подход?