даже вызов лямбд из привязанных к активити? Как я понял, если я запоминаю в список активити, то они из-за сборки мусора не будут распускаться, когда затребует система. Как это обойти?
Можешь шину событий попробовать
Спасибо, буду читать что это такое.
LiveData
Может я еще не до конца понял, хотите сказать, что observe(this, ...) не увеличивает счетчик использования и автоматически удаляется при роспуска this?
MutableStateFlow/StateFlow
Не используйте this, используйте viewLifecycleOwner
Лучше не надо. Сначала выглядит удобно, а по мере роста проекта хрен потом разберёшься кто откуда сообщения шлёт.
Что это, вкратце?
EventBus
Создаёшь бродкаст, у него лайвдату статическую, подписываешься где нужно. И шлешь ивенты если есть подписки
В таких механизмах как я понял главное что бы подписываться, а после не забывать отписываться. Просто я на с++ делал как-то объект, который не увеличивает счетчик и самоисключается из списка когда дестроится (в дополнение к классическому счетчику). Вот и подумал, может здесь есть такое.
Лайвдата лайфцайкл хендлит, не нужно отписываться все уже сделали в Гугле
Ок, буду изучать вопрос, спасибо.
Почитай про лайв дату, броткасты
брат
Обсуждают сегодня