Включите аппаратное ускорение, если оно доступно (например, Android 3+) с Android APK 2.2
Я разработал приложение для Android 3.0, и он работает отлично, но клиент настаивает на совместимости с 2.2 устройствами.
Отключение аппаратного ускорения, использование пакета совместимости с Android, поддержка NIO-backport (для задач и исполнителей) и некоторая переоценка методов просмотра. Я смог перенести приложение на Android 2.2 и работать очень хорошо, но если я запустил этот apk в более новое устройство производительность чрезвычайно медленная, поэтому я хочу знать, как включить аппаратное ускорение, если оно доступно, но все еще использует 2,2 APK.
Ответы
Ответ 1
Добавьте android:hardwareAccelerated="true"
в ваш манифест либо для <activity>
, либо <application>
.
Этот атрибут будет проигнорирован в старых версиях Android, но будет отмечен на Android 3.0 +.
Это потребует, чтобы вы установили цель сборки для уровня API 11 или выше, но вы, вероятно, уже имеете это.
Ответ 2
Если вам нужны вспомогательные устройства со старой версией ОС (2.3.X и старше), не добавляйте android:hardwareAccelerated="true"
в манифест, попробуйте добавить этот код в свой java:
try { if( Build.VERSION.SDK_INT >= 11) getWindow().setFlags( 16777216, 16777216); } catch( Exception e) {} // FLAG_HARDWARE_ACCELERATED == 16777216 (0x01000000)
Это работа в OS 3.0 ++, а не ошибка вызова на 2.3.X и старше.
Ответ 3
Вы можете посмотреть здесь, чтобы узнать, как вы можете включить функции на основе версии Android. Вы можете сделать это и с отражением, но это неуклюже.