Сергей
Если их фикс.количество.
M
Так, а где ты отображаешь тут данные с этих xml?
Line'R
А если их штук 200-300 (в зависимости от того сколько пользователь их загрузит) то старт приложения будет ооочень долгим. Ибо на парсинг одной вью уходит в среднем 100мс
Line'R
Line'R
https://gist.github.com/LinerSRT/a09263fa7f64e8798fe7b915ad5b7876
Сергей
Если в проекте 200-300 уникальных вьюшек, то что то пошло сильно не так). И исправлять такое поздно. "Господь, жги!" Предел наверное 20-25.
Сергей
.... и фирму где такой проект стал возможным - тоже жги.
Line'R
Они не уникальны. Там движок. Он грузит ресурсы для ОДНОЙ вью. Просто грубо говоря что и как грузить прописано в xml. Это не я придумал, китацы
Line'R
У меня задача адаптировать этот хлам и сделать более юзабельным
Сергей
А, так можно. Но xml не але все же.
Line'R
Я итак скорость и отказоустойчивость повысил насколько смог
M
https://gist.github.com/LinerSRT/a09263fa7f64e8798fe7b915ad5b7876
Функция пипец раздутая конечно
Line'R
Раньше прогрузка одной вью занимала почти секунду
Line'R
Функция пипец раздутая конечно
Есть идеи по другому реализовать?)
Line'R
Галвное функционал, а не красивость кода
Сергей
Протоколов полно и без xml, и даже джсона. Бинарные даже. А дальше программная верстка.
M
Галвное функционал, а не красивость кода
Об этом ты еще подумаешь, когда рефакторить придется)
Сергей
Кстати, xml не разбирал регулярками, а html делал. Если там фикс.формат и три тэга - то обычный поиск строк и парсинг займет мс.
M
Задержка это промежуток времени между тем, как ты нажал на картинку и тем, как она установилась на весь экран?
Сергей
Парсим xml, вытаскиваем то что туда положили. Строки, числа. Делаем прогр.верстку. Все летает.
Line'R
Кстати, xml не разбирал регулярками, а html делал. Если там фикс.формат и три тэга - то обычный поиск строк и парсинг займет мс.
Они итак занимает мс. В среднем 100. Но хочется еще быстрее (раньше было около секунды задержки, когда мне дали эту китайскую срань)
Сергей
Будет 2-3 мс. Если xml из десятка всегда одинаковых строк. Стандартный алгоритм морально готовится к парсингу всех мыслимых тегов потом неск.раз прогоняет текст. А регулярки и строчные функции требуют мкс
Сергей
Строчные быстрее.
Line'R
Xml не может быть одинаков, он задает стиль и внешний вид вью. А вот теги в нем всегда одинаковы
Сергей
Ну вот свой парсер написать. Именно под этот случай и три тэга. Только надо что бы на сервере его не поломали, испортив формат.
M
Как я понял, твои xml файлы описывают то, как должен отображаться циферблат. После долгого нажатия на выбранный циферблат открывается список с другими циферблатами, а раз эти циферблаты отображаются в списке, значит xml файлы с их описанием уже распарсены. Либо ты лишний раз парсишь файл, либо причина задержки в чем-то другом
Сергей
Надо будет посмотреть за сколько мс. у меня разбирается html файл на -цать записей из строк и чисел.
Сергей
Но это уже завтра.
Vladimir
Я сломался со своими фризами... При переходе фрагмента логина на фрагмент с регистрацией я у активити в которой эти фрагменты делаю toolbar = visible. Из за этого пропускается около 30 фреймов. Как можно это обойти?
Vladimir
Забить? 30 фреймов ниочем, на новых телефонах будет 10-15.
Я б забил, но это сильно в глаза бросается
Сергей
Ну, анимацию сделать одновременную.
Сергей
Или перенести тулбар во фрагменты.
Vladimir
Или перенести тулбар во фрагменты.
Пытался уйти от этого, что б при переходах не было видно
Сергей
Ну зато фризов не будет. Фрагменты быстрые, активности тормозные. Плюс добавка/убирание тулбара (хотя это про gone скорее) требует перелайоута всего.
Line'R
Line'R
Всеравно чувсмтвуются лаги. Хз пока что делать
Сергей
Блин. Все пишут под часы. Я тоже хочу !
M
Этот проект у тебя в open source?
Line'R
Я бы поделился. Но увы. Заказчик не разрешает в паблик
Сергей
Часы же еще и медленные. Там процессор мягко говоря не от топ модели телефона. От часов требовать быстродействия телефона странно.
Line'R
Там МТК 4 ядерный и 1 Гб оперативной памяти.
Line'R
Даже на моем редми 7 эта херня с задержкой
Сергей
А на говночасах?
Line'R
Хотя он мощнее этих часов раз в 10
Сергей
На говночасах будет эстонский ui/ux.
Line'R
Line'R
Бустанул маленько
M
Выгляит гораздо лучше. Что сделал?
Line'R
Вместо инициализации каждого параметра по новой и создании виью с новыми данными, я оставляю старую вью и меняю только измененные параметры в нескольких потоках на лету и только если необнодимо их сменить.
Line'R
Нехило забустило производительность.
Сергей
Вово, методы setXxxx у вьюшек всяко быстрее полного релайаута и создания.
Line'R
Верно. Только там канва, но сути не меняет.
Line'R
Я что то не додумался до этого раньше)
Line'R
Хорошая мысля приходит опосля
Вадим
Добрый вечер, имею такую проблему. При переходе между фрагментами и заменой их. Нажимая на приблизительно тоже место, что было ранее у другого фрагмента, получаю ввод текста. Другие елементы почему-то скрываются и не кликабельны. В чём может быть проблема?
Вадим
Вадим
Line'R
Дополнительный буст
Line'R
Вадим
Там нету EditText вообще. Все те элементы TextView.
Вадим
Возможно ваш ввод текста перехватывает фокус на себя.
Вадим
А это что?
это в первом фрагменте, а во втором нету. А я кликаю по втором фрагменте и он каким-то образом показывает ввод клавиатуры.
Денис
Всем пивет поскажите плиз как сделать иконку меню в тольбаре с gif картинкй?
Mike
Всем пивет поскажите плиз как сделать иконку меню в тольбаре с gif картинкй?
почему нельзя сделать так же, как и с любой другой картинкой?
Денис
почему нельзя сделать так же, как и с любой другой картинкой?
дело в том что гиф картинка не крутитса, а должна
Mike
дело в том что гиф картинка не крутитса, а должна
ухтыжблин. Выучи, пожалуйста, русский
Mike
в гугле и на SO полно ответов на вопрос «как показать анимированную гифку», если ты об этом
Денис
из кода
а как вот в ету часть передать? <item android:id="@+id/menu_show_travel" android:title="@string/show_travel" android:icon="@drawable/confirmation" app:showAsAction="always"/>
Mike
а как вот в ету часть передать? <item android:id="@+id/menu_show_travel" android:title="@string/show_travel" android:icon="@drawable/confirmation" app:showAsAction="always"/>
Из Java/Kotlin. XML слишком убог, чтобы можно было передать какой угодно Drawable. И в русском языке нет слов «ета», «етот», «етим», «етому» и т. п..