Size: a a a

Cicerone Chat (RUS)

2021 September 06

AD

Aleksey D. in Cicerone Chat (RUS)
и здесь не каждый раз новый фрагмент пушить, а показывать уже созданный из стека
https://github.com/nexus700120/Cicerone-issue/blob/v7.0-default/app/src/main/java/ru/cicerone/issue/RootFragment.kt#L42
источник

VK

Vitaly Kirillov in Cicerone Chat (RUS)
Для сэмпла эти моменты не важны
источник

A

Artyom in Cicerone Chat (RUS)
потому что фрагменты каждый раз с нуля создаете, а не переиспользуете
чичероне не готов под боттом табы из коробки, нужно самому реализоывать
источник

VK

Vitaly Kirillov in Cicerone Chat (RUS)
Ну ок, допустим я буду переиспользовать фрагменты. Это ведь не решит проблему того, что при первом показе фрагмента он будет моргать.

Чичероне может и не готов из коробки. Но самую простейшую логику работы с табами я сделал в семпле. Этого достаточно, чтобы обозначить проблему.
источник

A

Artyom in Cicerone Chat (RUS)
1) используйте транзишены, это сгладит углы
2) создавайте фрагменты вкладок заранее
источник

A

Artyom in Cicerone Chat (RUS)
Это by design системы поведение
источник

AD

Aleksey D. in Cicerone Chat (RUS)
уверен? кажется, асинхронность привезли коммитом, когда правили ошибку onSaveInstanceState
https://github.com/terrakok/Cicerone/pull/164/files
источник

VK

Vitaly Kirillov in Cicerone Chat (RUS)
@simpletakennick вот здесь про это писал
источник

A

Artyom in Cicerone Chat (RUS)
Проблема не в асинхронности, а в том, что вьюхи фрагмента нет, соответственно, показывать нечего
источник

A

Artyom in Cicerone Chat (RUS)
Соответственно, убирая очередь сообщений вы не правите проблему, а надеетесь на то, что фрагмент будет создан достаточно быстро, но слабые девайсы с этим поспорят
источник

AD

Aleksey D. in Cicerone Chat (RUS)
если я правильно прочитал код, то «асинхронность» была и прежде, но раньше она применялась в момент исполнения команд, когда навигатор могли оторвать от холдера, а сейчас ее перенесли на момент, когда буффер принимает решение - исполнить сразу или положить в очередь
источник

VK

Vitaly Kirillov in Cicerone Chat (RUS)
Да, всё верно. Т.е. в 7.0 это была условно-опциональная штука. То теперь она стала принудительной.
источник

A

Artyom in Cicerone Chat (RUS)
Все что изменилось: Handler переехал из AppNavigator в CommandBuffer
источник

A

Artyom in Cicerone Chat (RUS)
Логически ничего не изменилось
источник

A

Artyom in Cicerone Chat (RUS)
Разница в том, что CommandBuffer может увидеть, что навигатор задетачили, а навигатор не может знать, прикреплён он или нет
источник

VK

Vitaly Kirillov in Cicerone Chat (RUS)
Вы точно внимательно прочитали, что я выше писал?
источник

A

Artyom in Cicerone Chat (RUS)
Я не вижу проблему, с которой вы боретесь, либо не понимаете, почему сделано так, как сделано
источник

AD

Aleksey D. in Cicerone Chat (RUS)
кстати, а зачем там хендлер вообще? 🤔
источник

A

Artyom in Cicerone Chat (RUS)
Потому что можно пушить слишком много команд, что приведёт к крешу
источник

A

Artyom in Cicerone Chat (RUS)
Хендлер приносит примерную транзакционность
источник