Я заметил сбой на Android 6 с сообщением об ошибке - «A / OpenGLRenderer: Ошибка: переполнение окружающего буфера вершин !!!»Установка аппаратного ускорения на false для действия в файле манифеста решает проблему, но влияет на производительность приложения (приводит к замедлению работы приложения).
Я хочу просто установить значение false только в том случае, если версия для Android равна 23(андроид М) а не иначе. Вот как я подошел к нему:
Файл манифеста Android:
<activity
android:name=".MainActivity"
android:hardwareAccelerated="@bool/hardwareAcceleratedValue">
res / values / bool. xml
<resources>
<bool name="hardwareAcceleratedValue">true</bool>
</resources>
res / values-v23 / bool.xml
<resources>
<bool name="hardwareAcceleratedValue">false</bool>
</resources>
С этим язаметил снижение производительности на устройствах Android M (что и ожидалось), но также на устройствах с Android 9. Поэтому я решил создать еще одну папку для android 9 и добавил в нее файл с «hardwareAcceleratedValue» как true и производительность была выше.
Вопрос -
Для android API, отличных от v23, не следует, чтобы андроид считывал значение «hardwareAcceleratedValue» из res / values / bool.xml? Или мне придется создавать отдельные папки для каждого Android API и создать файл bool.xml внутри него, т.е. res / values-v28 / bool.xml или res / values-v27 / bool.xml?
Как можноЯ просто установил для «hardwareAcceleratedValue» значение false только для Android-M или менее и true для всех версий, кроме Android-M?