Освой программирование играючи
/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000
Начиная с Android 3.0, в приложениях появилась возможность использовать аппаратное ускорение.
Прежде всего нужно добавить в манифесте для тега <application> атрибут android:hardwareAccelerated="true".
Для проверки поддержки аппаратного ускорения можно использовать два метода View.isHardwareAccelerated() или Canvas.isHardwareAccelerated().
Добавим на форму кнопку, текстовое поле и ImageView для проверки поддержки ускорения:
TextView textView;
ImageView imageView;
public void onClick(View v){
boolean isHWAccelerated = imageView.isHardwareAccelerated();
textView.setText("isHardwareAccelerated: " + String.valueOf(isHWAccelerated));
}
Чтобы включить аппаратное ускорение на эмуляторе, в настройках используемого AVD найдите пункт GPU emulation и установите для него значение true.
Аппаратное ускорение можно включить программно. Удалите строчку из манифеста и добавьте код перед вызовом метода setContentView():
getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
Лично у меня в примерах всегда возвращалось значение true, в документации тоже этот момент туманно описан. И когда следует использовать аппаратное ускорение в проектах, я не понял. Но вдруг вы столкнётесь с этой ситуацией. Тогда дайте знать. А в некоторых китайских телефонах даже явное включение ускорения не даёт эффекта, будьте к этому готовы.