我一直注意到Android 6在崩溃时出现错误消息-“ A / OpenGLRenderer:错误:环境顶点缓冲区溢出!!!”将清单文件中的活动的硬件加速设置为false可以解决此问题,但会影响应用程序的性能(导致运行速度较慢的应用程序)。
我只想将值设置为false,仅当android版本为23(android M)时才设置为false。这是我的处理方法:
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”将文件添加到其中确实如此,并且性能更快。
问题 -
对于v23以外的android API,android不应从res / values / bool.xml中读取“ hardwareacceleratedValue”值吗?还是我必须为每个Android API创建单独的文件夹并在其中创建bool.xml文件,即res / values-v28 / bool.xml或res / values-v27 / bool.xml?
如何仅将Android-M或更低版本的“ hardwareacceleratedValue”设置为false,而将android-M以外的所有版本的true设置为true?