Pull to refresh
17
0
Дмитрий @Dimezis

Senior Android Software Engineer

Send message
Эта проблема решается в Gradle конфиге, там можно отключить инкрементальную сборку для ретролямбды:

retrolambda {
incremental false
}

У меня после этого не было подобных эксепшенов.
Помимо вышеперечисленного:
Для Android нет Java 8 и ее Streams, даже если использовать Retrolambda.
Еще для Android есть RxBinding либы для различных виджетов, которые так же дают много вкусняшек и завязаны на RxJava.
Советую еще почитать этот цикл статей habrahabr.ru/post/248153, тоже очень интересно и сам автор может многое почерпнуть.
В том числе, как сделать метод отрисовки линии менее страшным :)
Код ужасен, практическая польза статьи тоже не особо понятна.
Согласен, еще с Retrofit отлично сочетается RxJava и Retrolambda.
А так больше похоже на сборник велосипедов. Знать как эти вещи делаются «руками» — хорошо, но если цель была написать приложение по-быстрому, то лучше выбрать правильные инструменты.
Подозреваю, что ничего там не эмулируется, а компилить в таком случае надо будет и под x86. Как и с Genymotion, например.
Даже с моим не самым медленным интернетом, жутко раздражают подобные сайты. Ладно бы еще анимация не отображалась до полной загрузки… А так нужно наблюдать эти дерганья и после загрузки еще раз смотреть уже с «нормальным» фпс.
В статье представлен относительно простой, но не очень производительный растеризатор. Если вам действительно принципиально написать софт движок так, чтобы на js в реал тайме был высокий фпс, то попробуйте другие алгоритмы.
Не думаю, что это возможно. Вы хотите сделать z-буфер не для точек, а для целых треугольников? Нормальной отрисовки так не добиться.
Да и таким методом вы даже не сможете тонирование потом сделать, поэтому лучше сразу делать точечную отрисовку.
Достаете back buffer (getImageData()) из canvas, полноразмерный, пишите в него поточечно, затем копируете в canvas с помощью putImageData().
Могу кинуть свой вариант такого движка на js.
Тема очень интересная, но что же это за wall of text? И стиль изложения напоминает дипломную работу :)
К сожалению, executeOnExecutor() появился только в API 11. Хотя сейчас уже меньше заботятся о поддержке старых версий.
Вообще, стоит убрать абзац про потоки в статье, либо основательно переделать. Информация в нем касается только AsyncTask, да и то не совсем верная.
На сайте Vitamio говорят следующее:
Hardware decoder isn't perfect, suggest users to switch decoder manually…

То есть аппаратное ускорение есть, но в каком смысле оно «не идеальное» — сказать сложно.
Возможно для чего-то и удобнее использовать связку SurfaceView и MediaPlayer, но для простого плеера VideoView действительно упрощает жизнь. Собственно, это и есть расширение SurfaceView с MediaPlayer внутри.
Да, вы правы, это я был настолько невнимательным, что не заметил audio only.
А почему же закрытый? Или вы про native часть?

Information

Rating
Does not participate
Location
Kraków, Malopolskie, Польша
Date of birth
Registered
Activity