Pull to refresh
1
0
Сергей @sergeyfitis

Android developer

Send message

я посмотрел, Flash Bounty падает с проблемой в нативной библиотеке от adobe, похоже они использовали какие-то приватные апи системы, коих в новых версиях андроид уже нет.

private fun prepareFadeInAnimator(view: View): Animator =
ObjectAnimator.ofFloat(view, "alpha", 0f, 1f)

При использовании ObjectAnimator рекомендуется передавать поле не по его имени("alpha", "translationX"), а по его проперти ObjectAnimator.ofFloat(T target, Property<T, Float> property, float… values). Такой вариант избавляет от вызова сеттера этого поля через рефлексию. Так же является типобезопасным, ведь можно легко сделать опечатку "alfa" вместо View.ALPHA или "transletionX" вместо View.TRANSLATION_X.
На примере Plaid от Ника Батчера.


Все эти проперти так же есть и в AppCompat варианте.


Странно конечно что в документации не говорится про такой прием, тем не менее эта тема достаточно часто вскрывалась на конференциях с участием Chet Haase и Romain Guy.

а только использует, скажем BLE
Можно было бы и обойтись этим одним запросом на ACCESS_FINE_LOCATION или ACCESS_COARSE_LOCATION.
Тут недоумение в том, зачем пользователю вообще включать службу геолокации, если приложению она не нужна вовсе. Это вызывает лишние вопроси и недоумение у пользователей.

Спасибо за разбор, но вы немного поспешили, официальный анонс артефактов и codelabs только через неделю на DevSummit. Для работы плагина нужна будет новая студия, новый AGP и ещё не релизнутый Kotlin Compiler с API для плагинов. Как пишут разработчики Compose в slack канале что оно сейчас работает, это скорее случайность :) Сейчас не все фичи будут работать без нового компилятора.


Compose работает на Reflection, вместо Kotlin Compiler Plugin, как это было заявлено ранее

Он не будет работать на рефлексии. Ему нужен компиляторный плагин. В официальном slack канале Compose, Leland Richardson уже ответил на вопрос касательно kotlin.reflect:


i think compose used some reflection very early on and the dependency just never got removed;
update: reflect is going away. kapt is not a dependency and never was.

есть параметр от которого зависит, будет ли работать приложение в режиме совместимости: targetSDKVersion. Если targetSDKVersion < OS API level, то андроид не будет применять все новые ограничения к приложению. Вангую у вас была ошибка с сервисами после того как перешли на targetSDKVersion 26 или выше :)

Конечно вина сервисов тоже есть. Но есть и другая сторона медали. Google services предоставляют апи приложениям. Очень много приложений используют сервисы для разных нужд. Например, следить за локацией, получать пуши, иметь доступ к firebase и тд. Все взаимодействие происходит через IPC. Андроид видит что сервисы что-то делают, но он не знает что за этим стоят приложения, которые используют апи для получения данных от гугл сервисов.

Да наоборот, слишком редко. Они тормозят из-за этого с развитием ОС. Бич андроида это легаси код и обратная совместимость. iOS к счастью таким мало страдает.

да так и есть, они тесно работают с коммандой Flutter, если посмотреть в репозиторий, там даже дарт код есть тыц

Разница только во фрагментах, можно использовать как и раньше фрагменты. А лепить свои вьюгруппы вместо фрагментов спорное решение

Достаточно добавить всё в 1 апк, но в целях экономии размера можно и засплитить или использовать AppBundle

Не понятно одно, почему только сейчас, почему не раньше.

У меня был только 1 телефон из нексусов Nexus 5, когда покупал, был сразу с Android 6, держал не плохо на то время. Ставил CyanogenMod на android 7, батарея тоже была не хуже с поправкой на износ. Сейчас пользуюсь только Google Pixel(конкретно сейчас уже 2 XL), в плане обновлений ухудшений нет. На Android 9 стало лучше, регрессий не произошло.

Скажите спасибо за отвратительную работу вендора, телефонами которого вы пользуетесь. Они не смогли нормально адаптировать код AOSP под свою оболочку.

Разработчики смотрят, я думал хабр как раз для них :)

Так вам(пользователям) и не должен, разработчикам дал. Для вас вендоры придумывают всякие сомнительные фичи и усложняют жизнь простым разработчикам.

я нашел это удобным, да у всегда можно другой лаунчер поставить, тот же Nova или Action Launcher

Честно, у меня ровно наоборот. Мой телефон на Android 9 работает немного дольше чем до этого на Android 8.1

Оболочка дело второе, практически у каждого вендора она своя. Главное что runtime, gc улучшают и оптимизируют энергопотребление. Мой Pixel 2 XL на Android 9 просто реактивный стал.

Здесь нет ничего из "того самого" Redux.js. Тут своя реализация Redux Dart + Redux Flutter(обвязка к фреймворку).

Information

Rating
Does not participate
Registered
Activity