设置android:hardwareAccelerated =“true”in 或者在

问题描述 投票:3回答:2

我希望我的应用程序(主要依赖GPU)使用硬件加速。在一些论坛上,我被建议在android:hardwareAccelerated="true"中设置<application>,在<activity>内的AndroidManifest.xml内的其他论坛中设置相同的属性。下面是它的外观表示:

<application
    ...
    android:hardwareAccelerated="true"
    ...>
    <activity
        ...
        android:hardwareAccelerated="true"
        ...>
    </activity>
</application>

我最终设置了两个,但我想知道,哪一个是正确的方式,有什么区别?

android android-manifest hardware-acceleration
2个回答
8
投票

默认情况下启用硬件加速,因此除非您需要禁用它,否则无需进行设置。正如documentation所说:

如果Target API级别> = 14,则默认启用硬件加速,但也可以显式启用。

回答你的问题。在Application标签上设置它会影响整个应用程序,并在Activity标签上设置它会影响该活动。

申请级别

在Android清单文件中,将以下属性添加到标记以为整个应用程序启用硬件加速:

<application android:hardwareAccelerated="true" ...>

活动水平

如果您的应用程序在全局启用硬件加速时行为不正常,您也可以针对各个活动控制它。要在活动级别启用或禁用硬件加速,可以使用元素的android:hardwareAccelerated属性。以下示例为整个应用程序启用硬件加速,但为一个活动禁用它:

<application android:hardwareAccelerated="true">
    <activity ... />
    <activity android:hardwareAccelerated="false" />
</application>

3
投票

如果您在<application>上设置它意味着整个应用程序具有hardwareAccelerated功能,您不需要在<activity>上再次设置它,但如果您的应用程序在全局启用硬件加速时行为不正常,您可以在<activity>上设置它,并且它仅表示该特定活动具有hardwareAccelerated功能而不是整个应用程序。所以我想你的情况,你只能在<application>标签上设置它。

在这里查看更多。 https://developer.android.com/guide/topics/graphics/hardware-accel

© www.soinside.com 2019 - 2024. All rights reserved.