Size: a a a

Moxy – MVP библиотека под Android

2021 February 27

M

Mr.hinkal05 in Moxy – MVP библиотека под Android
Ну когда мы делаем hide фрагмента
источник

M

Mr.hinkal05 in Moxy – MVP библиотека под Android
Она же не уничтожается, а в этот момент живет
источник

P

Pavel in Moxy – MVP библиотека под Android
Алексей Ершов
логика логикой, а положение скролла всё равно хранится на уровне стейта UI
Это да. Тут зависит от того, что именно нужно восстановить.
Если что-то типа скролла, то да, лучше не реплейсить фрагмент.
Если какие-то данные, и не реплейсить фрагмент не получается, то можно в интеракторе хранить.
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
ну будет чуток больше памяти занято, вроде не проблема) Производительность лучше оптимизировать по мере необходимости.
источник

P

Pavel in Moxy – MVP библиотека под Android
Mr.hinkal05
Она же не уничтожается, а в этот момент живет
И что? :))
Пусть живёт :) Он сильно не съест памяти. Помрёт потом вместе с активитью
источник

M

Mr.hinkal05 in Moxy – MVP библиотека под Android
Pavel
И что? :))
Пусть живёт :) Он сильно не съест памяти. Помрёт потом вместе с активитью
🗿
источник

M

Mr.hinkal05 in Moxy – MVP библиотека под Android
Мама говорила что ты монстр
источник

M

Mr.hinkal05 in Moxy – MVP библиотека под Android
))
источник

M

Mr.hinkal05 in Moxy – MVP библиотека под Android
Ладно, попробую)
источник

ЕК

Евгений Кузовкин... in Moxy – MVP библиотека под Android
1) hide/show - быстрое переключение, нет заморочек по пересозданию, требуется больше памяти;
2) detach/attach - переключение медленнее, вьюха уничтожается - нужно восстановить только состояние UI компонентов, памяти требуется меньше, чем с hide/show
3) replace - полное пересоздание, медленное переключение, нужно руками восстанавливать всё, память только на активный таб.

Выбери своего покемона, второй вариант самый оптимальный (презентер будет жить). Первый тоже ок, третий я бы не стал использовать
источник

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
Mr.hinkal05
Всем привет, у меня есть Активити с bottomNavigationView где 2 кнопки, которая переключает фрагменты в frameLayout'e, мне нужно чтобы фрагменты при пересоздании не теряли своё состояние, в основном из-за этого я начал использовать Moxy, но оказывается PresenterType.GLOBAL убрали, и сейчас  при уничтожении фрагмента уничтожается и presenter.Скажите пожалуйста как сделать так чтобы при уничтожени фрагмента presenter не уничтожался, и при восстановлении фрагмента чтобы он находил именно тот presenter который и был у нее до уничтожения
если выгрузить приложение из памяти и запустить состояние должно восстанавливаться?
источник
2021 February 28

YS

Yuri Shmakov in Moxy – MVP библиотека под Android
Mr.hinkal05
Всем привет, у меня есть Активити с bottomNavigationView где 2 кнопки, которая переключает фрагменты в frameLayout'e, мне нужно чтобы фрагменты при пересоздании не теряли своё состояние, в основном из-за этого я начал использовать Moxy, но оказывается PresenterType.GLOBAL убрали, и сейчас  при уничтожении фрагмента уничтожается и presenter.Скажите пожалуйста как сделать так чтобы при уничтожени фрагмента presenter не уничтожался, и при восстановлении фрагмента чтобы он находил именно тот presenter который и был у нее до уничтожения
Не читал историю переписки. Но сложилось ощущение, что просто у тебя после пересоздания заново делается действие замены фрагмента. А нужно делать это только один раз. А при пересоздания активити, фрагмент сам подставит нужный фрагмент и восстановит его стейт.

Если навигацию и изменение фрагментов делаешь через мокси, а не через, например, чичерони, то команду по изменению стека фрагментов нужно делать со стратегией OneExecution
источник
2021 March 02

МА

Михаил Алпеев... in Moxy – MVP библиотека под Android
Добрый день, столкнулся с таким противным моментом в коде, когда ошибка есть, но андроид студия никоим образом не сообщает тебе об ошибке
источник

МА

Михаил Алпеев... in Moxy – MVP библиотека под Android
Это я к чему говорю - можете ли вы в будущих релизах мокси добавить каким-то образом проверку того, был ли правильно инициализирован презентер или нет?
источник

АЕ

Алексей Ершов... in Moxy – MVP библиотека под Android
Кака ошибка, что такое правильно инициализирован, и что значит студия не сообщает?
источник

МА

Михаил Алпеев... in Moxy – MVP библиотека под Android
Правильно это вот так по документации
@Inject
lateinit var presenterProvider: Provider<MainPresenter>

private val presenter by moxyPresenter { presenterProvider.get() }
А у нас был инициализирован вот так
   @Inject
   @InjectPresenter
   lateinit var presenter: Presenter
То есть сам презентер работал, но viewState не вызывался
источник

D

Dmitriy in Moxy – MVP библиотека под Android
Михаил Алпеев
Это я к чему говорю - можете ли вы в будущих релизах мокси добавить каким-то образом проверку того, был ли правильно инициализирован презентер или нет?
добавить предупреждения "как от IDE"?
источник

D

Dmitriy in Moxy – MVP библиотека под Android
https://github.com/JakeWharton/timber/tree/master/timber-lint как пример реализации
источник

МА

Михаил Алпеев... in Moxy – MVP библиотека под Android
Как пример - добавить сообщение при ненайденном импорте by moxyPresenter о том, что надо подключить побочную библиотеку Moxy или наследоваться от MvpAppCompat классов. Это может показаться перебором, но на самом деле когда в первый раз читаешь документацию это не бросается в глаза 😄
источник

МА

Михаил Алпеев... in Moxy – MVP библиотека под Android
Dmitriy
добавить предупреждения "как от IDE"?
Да, например так
источник