Size: a a a

Android Architecture

2020 August 23

S

Sergey Mitrofanov in Android Architecture
С хендлером то же самое
источник

S

Sergey in Android Architecture
Sergey Mitrofanov
То есть не сейчас, но сразу после того, как все ткущие задачи в очереди сообщений будут выполнены )
Т.е. delay мне все равно стоит выставить🤔
источник

S

Sergey Mitrofanov in Android Architecture
Зачем? Я так понимаю, все внутренние дела для фрагмента и пр. к тому моменту уже будут в очереди сообщений на выполнение. И твой вызов будет уже после них.
источник

S

Sergey Mitrofanov in Android Architecture
Теоретически должно сработать как нужно - попробуй )
источник

S

Sergey in Android Architecture
Sergey Mitrofanov
Теоретически должно сработать как нужно - попробуй )
Мм кстати, да :) А если представить ещё гипотетическую ситуацию, что отправил в очередь, а потом очень быстро переключился на другой фрагмент, а тот, на котором выполнил runOnUiThread(...) перестал быть виден, например, в ViewPager. Что будет тогда с этой отправкой? Сработает как в хэндлере же, т.е. как вернусь на него, так выполнит функцию?
источник

S

Sergey Mitrofanov in Android Architecture
Нет, сработает сразу, как только очередь дойдет
источник

S

Sergey Mitrofanov in Android Architecture
То есть выполнит уже после перехода ) Но в теории такого не случится.
источник

S

Sergey Mitrofanov in Android Architecture
Потому что сначала отработает твой вызов, и только потом onPause у этого же фрагмента
источник

I

Igor in Android Architecture
Sergey Mitrofanov
С RX в тестах - можно. Я так и делал )
https://i.gyazo.com/eba252601f44666d97b5b67b98c328db.png

@ArkaNN1985 как вам такое использованием rx?
источник

S

Sergey in Android Architecture
Sergey Mitrofanov
Потому что сначала отработает твой вызов, и только потом onPause у этого же фрагмента
Спасибо большое!!! 👍
источник

S

Sergey Mitrofanov in Android Architecture
Igor
https://i.gyazo.com/eba252601f44666d97b5b67b98c328db.png

@ArkaNN1985 как вам такое использованием rx?
А что тут так или не так?
источник

AI

Arkadii Ivanov in Android Architecture
Igor
https://i.gyazo.com/eba252601f44666d97b5b67b98c328db.png

@ArkaNN1985 как вам такое использованием rx?
Недостаточно контекста. Есть глобальные переменные, которые обновляются с фонового потока. Читаются явно в другом месте. Могут быть гонки.
источник

I

Igor in Android Architecture
Sergey Mitrofanov
А что тут так или не так?
- lazy
- (сайд эффекты) мутация внешних данных в стриме (shops)
- отсутсвие thread safe (мутация shops в одном потоке, чтение в другом)
источник

I

Igor in Android Architecture
Arkadii Ivanov
Недостаточно контекста. Есть глобальные переменные, которые обновляются с фонового потока. Читаются явно в другом месте. Могут быть гонки.
источник

S

Sergey Mitrofanov in Android Architecture
Igor
- lazy
- (сайд эффекты) мутация внешних данных в стриме (shops)
- отсутсвие thread safe (мутация shops в одном потоке, чтение в другом)
1. Что не так с lazy?
2. Какие «внешние» данные?
3. Тут пхд проебал, нужно было Completable тоже на Single выполнить )
источник

S

Sergey Mitrofanov in Android Architecture
Торопился, не проверил
источник

I

Igor in Android Architecture
Sergey Mitrofanov
1. Что не так с lazy?
2. Какие «внешние» данные?
3. Тут пхд проебал, нужно было Completable тоже на Single выполнить )
1. Зачем он тут?
2. Смотрел Youtube - Managing State with RxJava by Jake Wharton?
источник

S

Sergey Mitrofanov in Android Architecture
1. Щас подумал, да, лишний. Цепочка и так будет бездействовать, пока не подписались. Сначала там было другое, когда сделал так, забыл лейзи убрать 😅 Спасибо!
источник

S

Sergey Mitrofanov in Android Architecture
2. Не смотрел. В целом, не вижу ничего плохого в данном конкретном случае - видимость строго ограничена и заведена под тесты. По-другому не вижу как решить проблему курицы и яйца? )
источник

AI

Arkadii Ivanov in Android Architecture
Ой, много комментариев) основные уже перечислили. Прежде всего - гонки. Там ещё второй observeOn лишний. Ещё ошибки кешируются, не уверен, что это желаемое поведение. Много сайд-эффектов - выглядит подозрительно.
источник