что на сплеш скрине мы ждем значения с префов о том подошло ли время офера, проверяем наличие товара и показываем. Но мне не нравится, что все это время идет загрузка и останавливает взаимодействие с приложением.
Есть ли способ сделать более хорошо?
Ничего не останавливать. Сделать запрос. Когда придёт результат, тогда офер и показывать.
а показ оффера что из себя представляет? Может пусть это будет какой-то боттомшит или диалог? Как в фоне всё рассчитается, так и показывай диалог с результатом?
Это секунда а то и две пока пользователь ждет данных. Я хочу оптимизировать это и получить данные как можно быстрее
данные из сети? гарантий нет по времени, че тут оптимизировать?
Сервер тормозит или умер. Интернет медленный или умер. Или это всё вместе. Ваши действия по оптимизации? Но мой вариант вообще про другое.
Мамой клянёшься? А ты прислушайся к Леониду и Сергею. Перечитай, что они предлагают.
Зачем? Всё на месте же, гарантия 100500%
Они в датасторе, интернет не при чем
Что ты хочешь? Чтоб сплеш показывался 0.5 секунды?🤔
Чтобы после сплеша экран загрузки вообще не показался потому что оно уже проверило, что офер показывать не нужно и не заставляет пользователя ждать
https://t.me/android_ru/1430007 https://t.me/android_ru/1430013
У тебя один экран? Сплеш это отдельная активити? Или фрагмент?
Сплеш это вообще компоуз экран, поэтому и сплеш и после него это все одна активити.
ну а если сделать это в init {} блоке вьюмодели, а не в конструкторе как ты пишешь, что бы это не значило
init { } Это и есть в конструкторе)
🥴а точность важна? можно запускать воркменеджер который будет чекать статус и записывать результат и при запуске ты будешь читать это значение, но это кажется полным булщитом😄 и лучше сделать как выше пишут
Так само чтение и занимает время, результат уже есть
типа у тебя чтение данных из датастора 2 секунды занимает?
Все бывает, по крайне мере я вижу мигание загрузки, хотя она должна была бы сразу видеть что там стейт - успех и можно дальше идти, а не лоадер показывать 🤔
Обсуждают сегодня