Всем привет! Есть такая проблема, если кто-нибудь знает как её решить, буду очень благодарен!
В активити есть ViewPager с FragmentStatePagerAdapter, который возвращает одинаковые фрагменты. Таких фрагментов может быть больше ста.
Я заметил что при скролле к соседним элементам у Presenter-ов не вызывается onDestroy и они хранятся в памяти.
Как этого избежать, что сделать чтобы presenter-классы уничтожались согласно viewpager.offscreenPageLimit?
Когда переключаетесь к соседней вью, те что за пределами лимита в statePager , будут detach от презентер, но презентер не уничтожится, я думаю потому, что их хост активити и пока она жива , локальный презентер будет жить. Но дело в том, что скорее всего вам вообще не нужен мокси, т.к. StatePager хранит в списке состояния каждого таба , когда вы вернесь на прошлый там по его позиции он из списка берет состояние и нанизывает на вью. Состояние он хранит с помощью класса SavedState , который реализует интерфейс Parcelable . В общем за вас уже всё сделано, ваши презентеры могут снять с себя обязанность хранить состояние вью. И кстати если используете FragmentPagerAdapter , то он не состояния хранит, а в менеджереФрагментов целиком фрагменты по их тегам, которые он сам им же и задает. Не знаю вообще какой смысл использовать этот адаптер если есть State