代码之家  ›  专栏  ›  技术社区  ›  Sergey Emeliyanov

设置android:硬件加速=在<activity>或<application>中为“true”

  •  3
  • Sergey Emeliyanov  · 技术社区  · 6 年前

    android:hardwareAccelerated="true" 里面 <application> 而在其他论坛里同样的属性 <activity> 在我的 AndroidManifest.xml . 下面是它的样子:

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

    我最终在这两个方面都做了,但我想知道,哪一个是正确的方法,有什么区别?

    2 回复  |  直到 6 年前
        1
  •  21
  •   Alex.F    6 年前

    默认情况下启用硬件加速,因此除非需要禁用它,否则不必设置它。就像在报纸上说的那样 documentation :

    如果目标API级别为>=14,则默认情况下启用硬件加速,但也可以显式启用。

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

    应用程序级别

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

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

    活动水平

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

    <application android:hardwareAccelerated="true">
        <activity ... />
        <activity android:hardwareAccelerated="false" />
    </application>
    
        2
  •  3
  •   Tepits    6 年前

    如果你开始 <application> 这意味着整个应用程序都有 hardwareAccelerated <activity> ,但如果您的应用程序在全局启用硬件加速时表现不正常,则可以将其设置为启用 < ,这意味着只有特定的活动才具有特征 而不是整个应用程序。所以我认为在你的案子上,你只能 <

    更多信息请看这里。 https://developer.android.com/guide/topics/graphics/hardware-accel