все файлы на андроид устройстве, занимает секунд 10, при этом вся прила стопорится, как эту работу в background выполнять с помощью корутин???
попробовал через runBlocking - не вышло, еще диспетчер добавил и еще через Global.launch делал - тоже не вышло, все равно сначала белый/черный экран, а ток потом активити грузится
в вопросе и есть ответ — надо перенести работу в бэкграунд
а в вью модельки - никак?
viewModelScope.launch(Dispatcher.IO) {...} пробовал
А почему это рассматривается как противоположности?
типо такого, ток диспетчер не добавлял
ну нужно будет к жизненному циклу экрану привязываться, а я на компоузе делаю, через стейты все ток выйдет)
Получение данных в фоне никак не противоречит композным stateless компонентам. Получили данные в фоне, отдали их в компонент, чтобы он их показал 🤷♂ Может быть, сначала стоит получше изучить работу с корутинами? 😏
Нужно просто много чего учитывать, пермишены + нужно отрисовывать прогресс А насчёт 2 не понял
Учитывайте, отрисовывайте 😏 Корутины умеют делать фоновую работу. А у вас почему-то не могут.
Так я пишу, что так то так то, делаю так, не работает, прошу помочь, зачем вы 2 раз указываете на мою проблему, которую я задал выше?))
Выполняйте работу на бекграунд потоке, на юай потоке показывайте спиннер пока данные грузятся, после загрузки данных показывайте свои данные
Я к тому, что, возможно, стоит получше разобраться в корутинах. Иначе это звучит примерно так: я использую тред, а он у меня не хочет работать в фоне. Наверное, диспетчер нужно правильный дать, чтобы работало в фоне, я хз...
Dispatchers.io ставлю
Как результаты приходят в UI? Может быть, вы из фона UI спамите событиями, вот он и виснет.
Mutalbe state Очень часто данные обновляются, после проверки 1 файла
Не обновляйте часто 🤷♂ Для начала убедитесь, что работа с файлами на самом деле идёт в фоне. Если да, то чините спам.
По дизайну так, там размеры каждого типа учитывать нужно :( Окей, спасибо)
Какая польза юзеру от обновления UI каждую наносекунду? 😏
Обсуждают сегодня