Dmitry Levchenko
Попробуй Dispatchers.IO
Никакой разницы
Egor
Никакой разницы
а что медленнее стало? Фризит?
Dmitry Levchenko
а что медленнее стало? Фризит?
Появилось "моргание" экрана, из за того что текст во вьюхи устанавливается не мгновенно, то есть слишком долгое ожидание модели
Egor
Появилось "моргание" экрана, из за того что текст во вьюхи устанавливается не мгновенно, то есть слишком долгое ожидание модели
вот это мгновенно - удача. У каждого телефон с разным процом. Мгновенно не у всех будет, даже с тредом
Dmitry Levchenko
вот это мгновенно - удача. У каждого телефон с разным процом. Мгновенно не у всех будет, даже с тредом
Смотри, у меня был раньше код на тредах и хендлерах здесь, все работало мгновенно, если просто в ui потоке запустить-мгновенно, а в случае withContext происходит задержка
Anonymous
ребят, метод в сервисе в onBind выполняется быстрее чем onStartCommand
Anonymous
как это можно исправить?
Oleg
Смотри, у меня был раньше код на тредах и хендлерах здесь, все работало мгновенно, если просто в ui потоке запустить-мгновенно, а в случае withContext происходит задержка
Если в ui треде запустить, то у тебя просто сама виза будет дольше рисоваться. А так она сразу отрисовалась и только после этого ждёт данных для заполнения
Вова
Ребята прошу помочь: Есть ли какой то способ подгружать какую то часть данных из файр бейс,а потом уже показывать эти данные,потому что как то неприятно смотреть на загружающуюся на глазах информация. Спасибо за ответы
Вова
а как это сделать то?
Mike
а как это сделать то?
А как тебе вообще удалось одновременно загружать и показывать?)
Вова
загружать из базы и показывать в активити
Oleg
Ресурс твой или из либы? сторонней
Вова
к примеру в строку имя загружается имя из базы,но оно загружается на глазах
Dmitry Levchenko
Если в ui треде запустить, то у тебя просто сама виза будет дольше рисоваться. А так она сразу отрисовалась и только после этого ждёт данных для заполнения
Да, видимо ты прав. View успевает отрисоваться, и только потом вызывается setTextViews. Но ui тред я же остановить не могу, получается это моргание не фиксится?
<Обойдёшься😊/>
Ресурс твой или из либы? сторонней
Я создал ню прожект и все ресурсы туда скинул...
Anonymous
что-то не могу понять, перед bindSevice не нужно делать startService?
Dmitry Levchenko
Если в ui треде запустить, то у тебя просто сама виза будет дольше рисоваться. А так она сразу отрисовалась и только после этого ждёт данных для заполнения
Хотя подожди. В случае тредов и хендлеров ведь тот же принцип. Вьюха отрисовается, а потом уже приходит колбек в хендлер. Но там все работает быстрее
rakhmatullaev01
заменил android:colorBackground на android:background и всё стало ок)))
да почему то у меня тоже так глючит странно из-за android:colorBackground)
Mike
что-то не могу понять, перед bindSevice не нужно делать startService?
Это две разных механики, которые существуют параллельно. Так что нет.
Dmitry Levchenko
ПРОФАЙЛЕР
Я никогда им не пользовался
<Обойдёшься😊/>
Dmitry Levchenko
Dmitry Levchenko
Там - это где? Я ж не знаю как у тебя до корутинах было)
Вот такой вариант работает мгновенно
Oleg
Вот такой вариант работает мгновенно
Ну так он на ui треде ж пойдет без задержки, потому и обработается сразу, точнее тормознет сам ui. Выведи в лог время onviewcreated и время обработки setviewstext в обоих вариантах, посмотри разницу
Anonymous
ребят, как получить интент в onCreate, ведь если запускать сервис bindService, то onServiceCommand нету
Vladimir
Ну так он на ui треде ж пойдет без задержки, потому и обработается сразу, точнее тормознет сам ui. Выведи в лог время onviewcreated и время обработки setviewstext в обоих вариантах, посмотри разницу
Мне просто тоже стало интересно, чего тот вариант работает быстрее ) Но по коммменту я не понял почему на юа треде? Он же стартанет поток просто на юа треде, ну и результат туда в очередь кинут
Vladimir
А handler по твоему на каком треде работает?
Я же написал об этом. Но стартанет задача не на юа треде
Anonymous
получай в onBind
там вообще ноль, ничего не происходит
Anonymous
если весь код туда поместить
Anonymous
ну разницы же нет по идее))
Dmitry Levchenko
Dmitry Levchenko
В какой тред ты кинул sleep?
В созданный мной,конечно. Перед post
Oleg
В созданный мной,конечно. Перед post
А, черт) не увидел тред, сорян)
Oleg
Забираю все сказанное ранее обратно, думал ты это просто в onViewCreated делаешь)
Dmitry Levchenko
Vladimir
Я думаю, что дело в хендлере )
Oleg
Есть тогда идеи?
Ну корутина по идее тяжеловеснее чем тред, ибо там разные флоу, но такой разницы я не ожидал) Надо в кишках копаться...
Mike
Ну корутина по идее тяжеловеснее чем тред, ибо там разные флоу, но такой разницы я не ожидал) Надо в кишках копаться...
Если бы корутина как таковая была тяжелее треда, они бы не умерли, не выйдя из экспериментала :) Моя ставка — это так только с первой корутиной, пока классы грузятся.
Egor
Запустить 1000 потоков и тел умрет, а вот корутин вообще не вопрос
Oleg
Запустить 1000 потоков и тел умрет, а вот корутин вообще не вопрос
потому что они работают в пуле, а тредами еще управлять надо. Вопрос в стоимости создания
Сергей
ну, 1000 потоков в экзекьюторах запускал - норм все было. 2-4 или сколько там процессоров есть - исполняются, остальные на холде
ARTUR
хоть убейся не приходит пуш
Egor
хоть убейся не приходит пуш
Код кидай Есть ли фаербейз джейсон файл в проекте?
Egor
какой кинуть код , чего именно
Сервис и манифест для начала, но не через телегу плз
Mike
какой кинуть код , чего именно
такой, чтобы любой мог его скопировать, вставить в пустой проект, и тоже не получить пуш
Egor
hatebin.com
Чем хейтбин круче паста?
Oleg
Есть тогда идеи?
Как минимум - глянь что именно стало дольше выполняться - время от onViewCreated до прихода в первую строку треда/корутины или время от получения модели до выполнения кода внутри handler/корутины на основном потоке
ARTUR
hatebin.com
https://hatebin.com/arhvuokidw
ARTUR
https://hatebin.com/tfukqwpbib
Mike
Какие конкретно классы? Если в withContext поставить Main то отработает мгновенно
может, тогда дело в том, что для default/io рефлекшеном ищется CommonPool. Короч, прямая дорога в профайлер, там все ответы
Egor
Ты в фоне отправляешь? Или когда находишься в прилке? ARTUR
ARTUR
фон
Egor
фон
json файл в app есть?
ARTUR
да
Anonymous
Блин, никак не могу понять, вызываю из активити сначала startService(...); потом уже bindService(...); и кажется, onBind(Intent intent) выполняется раньше, чем onStartCommand()
ARTUR
Egor
проверь пакеты и к тому проекту подключен ли
ARTUR
целый день проверяю (( один проект