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