90
2. Изображать графику напрямую на холсте (класс Canvas). В этом
случае необходимо позаботиться о вызове метода onDraw(), передавая его
в
класс Canvas, или же о вызове одного из draw...()методов
класса Canvas (например, drawPicture()). Действуя таким образом, можно
управлять анимацией. Этот путь подходит,
когда необходимо постоянно
перерисовывать окно приложения, например, для видео игр.
Аппаратное ускорение. Начиная с Android 3.0 (API уровень 11),
конвейер изображения 2D графики в Android поддерживает аппаратное
ускорение. Это означает, что все операции рисования на холсте исполняются с
использованием GPU. В связи с увеличением
требований к ресурсам
приложение будет потреблять больше RAM. Аппаратное ускорение доступно
по умолчанию, если целевой уровень API больше или равен 14, но может быть
включено явно. Если в приложении используются только стандартные
представления и графика, включение аппаратного ускорения не должно
привести к каким-либо нежелательным графическим эффектам. Однако из-за
того, что аппаратное ускорение поддерживается не всеми операциями 2D
графики, его включение может нарушать
некоторые пользовательские
изображения или вызовы рисования. Проблемы обычно проявляются в
невидимости некоторых элементов, появлении исключений или неверно
изображенных пикселях. Чтобы исправить это, Android позволяет включать
или выключать аппаратное ускорение на разных уровнях: уровень
приложения, уровень активности,
уровень окна, уровень элемента
интерфейса.
OpenGL. Android поддерживает высокопроизводительную 2D и 3D
графику с использованием открытой графической библиотеки OpenGL, точнее
OpenGL ES API. Библиотека OpenGL является кросс-платформенным API,
который определяет стандартный программный интерфейс для аппаратного
обеспечения, занимающегося обработкой 3D графики.
OpenGL ES является
разновидностью OpenGL, предназначенной для встроенных устройств.
Android поддерживает несколько версий OpenGL ES API:
OpenGL ES 1.0 и 1.1 поддерживается Android 1.0 и выше;
OpenGL ES 2.0 поддерживается Android 2.2 (API уровень 8) и
выше;
OpenGL ES 3.0 поддерживается Android 4.3 (API уровень 18) и
выше.
Поддержка OpenGL ES 3.0 на реальном устройстве требует реализации
графического конвейера, предоставленной производителем. Поэтому
устройство с Android 4.3 и выше может не поддерживать OpenGL ES 3.0.
Подробнее с графикой в Android можно познакомиться по ссылкам:
http://developer.android.com/guide/topics/graphics/2d-
graphics.html;
http://developer.android.com/guide/topics/graphics/opengl.html;
http://developer.android.com/guide/topics/graphics/hardware-