Освой программирование играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
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.

GPU emulation

Аппаратное ускорение можно включить программно. Удалите строчку из манифеста и добавьте код перед вызовом метода setContentView():


getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, 
          WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

Лично у меня в примерах всегда возвращалось значение true, в документации тоже этот момент туманно описан. И когда следует использовать аппаратное ускорение в проектах, я не понял. Но вдруг вы столкнётесь с этой ситуацией. Тогда дайте знать. А в некоторых китайских телефонах даже явное включение ускорения не даёт эффекта, будьте к этому готовы.

Дополнительное чтение

Реклама