Ответ
Да, такое бывает, например, при передаче объекта между фрагментами или активити.
Решение 1: Передавать Parcelable объект через Bundle:
// Отправка
val intent = Intent(this, SecondActivity::class.java)
intent.putExtra("user", user as Parcelable)
startActivity(intent)
// Получение
val user = intent.getParcelableExtra<User>("user")
Решение 2: Использовать ViewModel с SharedViewModel, если фрагменты в одном активити:
class SharedViewModel : ViewModel() {
val sharedData = MutableLiveData<DataObject>()
}
// Фрагмент 1
sharedViewModel.sharedData.value = dataObject
// Фрагмент 2
sharedViewModel.sharedData.observe(viewLifecycleOwner) { data ->
// use data
}
Важно: Не хранить тяжелые объекты или ссылки на Context/View, чтобы избежать утечек памяти.