Size: a a a

Android Architecture

2020 October 09

QH

Quantum Harmonizer in Android Architecture
Quantum Harmonizer
ваши спички, сэр
напомню, оно там ещё в APK/DEX/VDEX/OAT и mmap место занимает.
источник

QH

Quantum Harmonizer in Android Architecture
единственное, чем я могу пригрозить на практике — приложение будет раньше прибито системой, а холодный рестарт — долго
источник

S

Sasha in Android Architecture
Привет. Как вы обходили ситуацию когда надо открыть фрагмент во вкладке bottomnavigation через deep link. Но до этого надо запустить splash в котором сделать api call который может запретить использование приложения если сфейлится. Все это надо совместить с nav component
источник

AL

Aleksandr Litvinchuc... in Android Architecture
У меня активити которая хендлит диплинку записывает её в behaviorsubject а активити которая должна перехватить событие, читает его выполняет действие и резетит
источник

AL

Aleksandr Litvinchuc... in Android Architecture
Может решение не идеальное но рабочее в моем случае
источник

S

Sasha in Android Architecture
Думал самому обрабатывать ссылки в splash и передавать на mainactivity с bottomnavigation и там через Nav component запускать нужный фрагмент. Но при использовании  в mainActivity currentNavController из liveData(NavigationExtension.kt для истории табов) ничего не происходит
источник

AI

Arkadii Ivanov in Android Architecture
Quantum Harmonizer
Лагает оно, предсказуемо, несильно: у меня получилось 4 мс на создание lazy для 10 вьюх, то есть, чтобы пропустить целый кадр, нужно насоздавать 40 таких лейзи.
А вот с памятью всё (предсказуемо) грустно. У каждого анонимного класса retained size — 296 байт (that is, 10 вьюх — три килобайта мусора). Причём это только в хипе, а какими структурами данных там оперирует компилятор — можно только гадать.
А без lazy? :-)
источник

GR

Gor Rushanyan in Android Architecture
Quantum Harmonizer
Лагает оно, предсказуемо, несильно: у меня получилось 4 мс на создание lazy для 10 вьюх, то есть, чтобы пропустить целый кадр, нужно насоздавать 40 таких лейзи.
А вот с памятью всё (предсказуемо) грустно. У каждого анонимного класса retained size — 296 байт (that is, 10 вьюх — три килобайта мусора). Причём это только в хипе, а какими структурами данных там оперирует компилятор — можно только гадать.
Ну теперь все, не используем анонимные классы?
источник

GR

Gor Rushanyan in Android Architecture
Но вообще кстати многовато выходит. Если это достоверная инфа.
источник

QH

Quantum Harmonizer in Android Architecture
Arkadii Ivanov
А без lazy? :-)
полторы мс
источник

QH

Quantum Harmonizer in Android Architecture
Gor Rushanyan
Ну теперь все, не используем анонимные классы?
«в пзду прогармирвоне», как говорил Вонни.

Используем, когда нужны. Когда не нужны — не используем. Кстати, анонимность не играет никакой роли. Ну класс и класс.
источник

QH

Quantum Harmonizer in Android Architecture
Gor Rushanyan
Но вообще кстати многовато выходит. Если это достоверная инфа.
Да насрать, меньше 15 секунд современный пользователь стерпит. Он привычный уже.
источник

GR

Gor Rushanyan in Android Architecture
Quantum Harmonizer
«в пзду прогармирвоне», как говорил Вонни.

Используем, когда нужны. Когда не нужны — не используем. Кстати, анонимность не играет никакой роли. Ну класс и класс.
Я не фанат файндвью в лейзи. Вообще первый раз такое вижу. Но понятно что некоторые синтаксические сахары внезапно требуют под капотом каких-то действий.
Это какбы и есть преждевременная оптимизация. Но согласен что все подряд называть тем же лейзи смысла не имеет.
Ну короче, правда как всегда посередине.
источник

GR

Gor Rushanyan in Android Architecture
Quantum Harmonizer
Да насрать, меньше 15 секунд современный пользователь стерпит. Он привычный уже.
Я больше про то, что в результате не сделали каких-то оптимизаций инлайнов и тд
источник

QH

Quantum Harmonizer in Android Architecture
Gor Rushanyan
Я больше про то, что в результате не сделали каких-то оптимизаций инлайнов и тд
lazy не инлайн и не может им быть
источник

QH

Quantum Harmonizer in Android Architecture
Gor Rushanyan
Я не фанат файндвью в лейзи. Вообще первый раз такое вижу. Но понятно что некоторые синтаксические сахары внезапно требуют под капотом каких-то действий.
Это какбы и есть преждевременная оптимизация. Но согласен что все подряд называть тем же лейзи смысла не имеет.
Ну короче, правда как всегда посередине.
ну просто нужно понимать, для чего нужнен каждый «сахар», как работают языковые фичи и какие проблемы уместно ими решать
источник

GR

Gor Rushanyan in Android Architecture
Quantum Harmonizer
lazy не инлайн и не может им быть
Ну я ни код-оптимизаторы ни компиляторы не пишу, но хотел бы верить в единорога
источник

GR

Gor Rushanyan in Android Architecture
Quantum Harmonizer
ну просто нужно понимать, для чего нужнен каждый «сахар», как работают языковые фичи и какие проблемы уместно ими решать
Это да
источник

QH

Quantum Harmonizer in Android Architecture
Gor Rushanyan
Ну я ни код-оптимизаторы ни компиляторы не пишу, но хотел бы верить в единорога
А не надо в него верить, возможности для суперкомпиляции очень, очень ограничены. ProGuard, R8, GraalVM пока только открывают этот путь.
источник

A

ABI in Android Architecture
Sasha
Привет. Как вы обходили ситуацию когда надо открыть фрагмент во вкладке bottomnavigation через deep link. Но до этого надо запустить splash в котором сделать api call который может запретить использование приложения если сфейлится. Все это надо совместить с nav component
я сплеш поставил как главный фрагмент в основном графе (у меня дофига их просто, на каждую кнопку боттом нав. свой граф), во вьюмодельке делаю что нужно с сетью и т.д. потом по глобальному акшену открываю нужный фрагмент(читай граф)
источник