Size: a a a

2018 September 20

DG

Dmitriy Gorbunov in RxPM
Leo
Всем привет! Если у меня в бэкстеке лежит, скажем, немалое количество фрагментов, то все их подписки к моделям, будучи привязаны к destroy, продолжат существовать. Звучит не очень, как мне кажется, но и к unbind привязываться не хочется, слишком уж часто будут переподписываться. Подскажите пожалуйста, правильно ли я понял концепцию, и насколько напряжно вообще с этим живется?
Это нормальная общепринятая практика, ПМ должна работать в фоне, пока мы не ушли с экрана. Чтобы не прерывать запросы во время поворотов и т. д. Единственное что имеет смысл на unbind приостанавливать, это ресурсоемкие операции типа получения геопозиции, таймеры всякие, анимации и т. п.
источник

L

Leo in RxPM
Ну оно работает в фоне, даже если мы ушли с экрана на другой, а этот остался в стэке
источник

L

Leo in RxPM
То есть на этот случай специально ничего не предусмотрено?
источник

L

Leo in RxPM
Какое-нибудь suspended состояние бы добавить...
источник

DG

Dmitriy Gorbunov in RxPM
Leo
Ну оно работает в фоне, даже если мы ушли с экрана на другой, а этот остался в стэке
Мы же скорее всего вернёмся на этот экран обратно, и нужно сохранять стейт данных в актуальном состоянии. Например данные могут изменяться на одном экране, а обновления могут мониториться на других
источник

DG

Dmitriy Gorbunov in RxPM
Leo
То есть на этот случай специально ничего не предусмотрено?
В этом нет никакой необходимости, вы просто усложните себе этим жизнь
источник

L

Leo in RxPM
Ну в моем случае с большой вероятностью не вернемся, потому что набор экранов - это что-то вроде визардов, в самом конце всегда переход на рутовый будет. Да и речь не о сохранении стейта, а о паузах по типу bind-unbind, но только для экранов в стеке.
источник

L

Leo in RxPM
Может и усложню, я пока еще только начинаю новый проект на этой либе, так что пытаюсь заранее разобраться в неоднозначных ситуациях :)
источник

L

Leo in RxPM
Спасибо за поддержку в поздний час!
источник

DG

Dmitriy Gorbunov in RxPM
Главное что вьюха отдетачена, и отрисовки стейта в фоне нет.
источник
2018 September 24

DG

Dmitriy Gorbunov in RxPM
Минорное обновление 1.2.1
https://github.com/dmdevgo/RxPM/releases/tag/v1.2.1
источник

MZ

Mikhail Zisman in RxPM
👍
источник

L

Leo in RxPM
Зер гут
источник
2018 October 01

DG

Dmitriy Gorbunov in RxPM
источник
2018 October 02

NY

Nikita Yatskivskiy in RxPM
Ребят, подскажите, пожалуйста, как мне сообщать view, что нужно ли обновиться при получении новых данных или нет? Например на ScreenA есть viewpager. ScreenA от ViewModel получает список табов. Согласно этому списку FragmentStatePagerAdapter создаёт фрагменты (внутри каждого просто список). При переходе на ScreenB по клику на айтем из спика, а затем при возврате на экран ScreenA, этот ScreenA повторно биндится к viewmodel, FragmentStatePagerAdapter’у сетятся опять те же данные и он начинает пересоздавать фрагменты. Как управлять биндингом? Чтобы решать, когда я хочу при биндинге обновить данные, а когда нет.
источник

DG

Dmitriy Gorbunov in RxPM
Nikita Yatskivskiy
Ребят, подскажите, пожалуйста, как мне сообщать view, что нужно ли обновиться при получении новых данных или нет? Например на ScreenA есть viewpager. ScreenA от ViewModel получает список табов. Согласно этому списку FragmentStatePagerAdapter создаёт фрагменты (внутри каждого просто список). При переходе на ScreenB по клику на айтем из спика, а затем при возврате на экран ScreenA, этот ScreenA повторно биндится к viewmodel, FragmentStatePagerAdapter’у сетятся опять те же данные и он начинает пересоздавать фрагменты. Как управлять биндингом? Чтобы решать, когда я хочу при биндинге обновить данные, а когда нет.
используй Command для таких штук
источник

NY

Nikita Yatskivskiy in RxPM
А если запрос на получение списка табов происходит асинхронно? То в таком случае Command сохранит данные, а при биндинге отдаст?
источник

DG

Dmitriy Gorbunov in RxPM
Nikita Yatskivskiy
А если запрос на получение списка табов происходит асинхронно? То в таком случае Command сохранит данные, а при биндинге отдаст?
Command буферизирует айтемы пока вьюха не привязана и отдаст их при первом же биндинге
источник

DG

Dmitriy Gorbunov in RxPM
Nikita Yatskivskiy
А если запрос на получение списка табов происходит асинхронно? То в таком случае Command сохранит данные, а при биндинге отдаст?
источник

NY

Nikita Yatskivskiy in RxPM
А почему bind к Pm происходит в onStart, а unbind в onStop? А не, например, в onCreateView/onDestroyView?
источник