Intereting Posts
Мигающий экран перехода изображения между действиями Gradle Android Plugin – добавить атрибут атрибута? Gmail «Невозможно прикрепить пустой файл» Раздражающие лагами / заиканиями в игре для Android Не удается перенести проект в Gradle в Android Studio Ошибка создания проекта в Android Studio "Ошибка: ресурс не найден, который соответствует указанному имени (в ____ со значением '@ drawable / <name>') Определите, когда ViewPager меняет страницы ListView с интерактивным / редактируемым виджетами Javax.net.ssl.SSLException: Ошибка чтения: ssl = 0x9524b800: ошибка ввода-вывода во время системного вызова, сброс соединения с помощью одноранговой сети Как отладить подписанное приложение Android от Eclipse? Как получить масштабированный Bitmap из ImageView Как получить список доступных / установленных шрифтов в android? Android Canvas.drawText Android: запуск службы с параметром Импортирование google-play-services lib в Intellij IDEA 12 (и 13)

Android Live Wallpapers – OpenGL vs Canvas

Я довольно разработчик Android «newb», и я хотел бы, чтобы один из моих первых проектов был живым обоями, однако я не согласен с тем, должен ли я фокусироваться на Canvas или OpenGL для него. Будучи новичком в этом, я знаю, что сначала я должен овладеть Canvas, так как это проще в использовании, но я предпочитаю учиться на проектах реального мира, в которых я заинтересован, даже если это немного наоборот.

Я использовал оба раньше, и я понимаю общие понятия для них, но я не уверен, как они переходят в сферу живых обоев. Я полагаю, что полная полная скорость OpenGL не требуется на живых обоях, так как запуск с максимальным FPS будет просто разряжать батарею больше, чем нужно, но в то же время я волнуюсь, что использование Canvas приведет к задержкам и Заикается при выполнении таких вещей, как изменение домашних экранов.

Я склоняюсь к использованию OpenGL ES 2.0, как для обеспечения оптимальной производительности, так и из-за того, что мои первоначальные идеи для обоев включают в себя много слоев, и я не уверен, что Canvas способен, но я бы хотел, чтобы более опытные разработчики высказались относительно того, Или не все дополнительные работы, связанные с использованием OpenGL (особенно в отношении живых обоев, из того, что я читал) того стоит.

Solutions Collecting From Web of "Android Live Wallpapers – OpenGL vs Canvas"

Если вам удастся просто рисовать на холст (например, пример куба в SDK), это намного меньше. Из-за простоты анимации (без растровых изображений) куб может без труда достигать высокой частоты кадров.

Если вы хотите использовать OpenGL, вам нужно будет использовать дополнительный пакет, такой как GLWallpaperService, AndEngine или RenderScript.

http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers

http://www.andengine.org/forums/tutorials/live-wallpaper-template-t258.html

Просмотрите исходный код Android, чтобы увидеть, как фондовые обои (например, Grass, Galaxy) реализованы с использованием RenderScript. Эта ссылка может работать, но никаких гарантий: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.1.1_r1/com/android/wallpaper/ ( Затем прокрутите вниз до обоев)

Moonblink прекратил свой проект, но если вы действительно заинтересованы, вы можете попробовать исследовать его работу (субстрат), начиная здесь: http://code.google.com/p/moonblink/source/browse/wiki/Setup.wiki

Я закончил использование OpenGL на полпути проекта, рисование холста оказалось слишком медленным для того, чего я пытался достичь. Использование OpenGL привело к значительному увеличению производительности. К сожалению, мне пришлось реорганизовать мой код, поэтому я бы посоветовал использовать OpenGL с самого начала. Грязная рендеринга поддерживается OpenGL, а также структура обоев не полагается на то, как вы визуализируете вещи, чтобы вы могли создавать обои, которые не истощают батарею. На самом деле хорошо запрограммированные обои не отображаются, когда они скрыты. Поскольку обои, отгруженные с андроидом, не следуют этому шаблону, у живых обоев теперь есть плохое имя того, что они являются присосками для аккумуляторов. Действительно стыдно ..