it-swarm.com.de

Android einstellen: hardwareAccelerated = "true" in <activity> oder in <application>

Ich möchte, dass meine App, die stark von der GPU abhängt, die Hardwarebeschleunigung verwendet. In einigen Foren wurde mir vorgeschlagen, Android:hardwareAccelerated="true" Innerhalb <application> und in anderen Foren das gleiche Attribut in <activity> in meinem AndroidManifest.xml. Unten ist die Darstellung dessen, wie es aussieht:

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

Am Ende habe ich beides gemacht, aber ich frage mich, welcher Weg der richtige ist und was der Unterschied ist.

8
Serj Ardovic

Die Hardwarebeschleunigung ist standardmäßig aktiviert, sodass Sie sie nur einstellen müssen, wenn Sie sie deaktivieren müssen. Wie gesagt in der Dokumentation :

Die Hardwarebeschleunigung ist standardmäßig aktiviert, wenn Ihre Ziel-API-Stufe> = 14 ist. Sie kann jedoch auch explizit aktiviert werden.

Zur Beantwortung Ihrer Frage. Das Festlegen des Tags für die Anwendung wirkt sich auf die gesamte Anwendung aus, und das Festlegen des Tags für die Aktivität wirkt sich auf diese Aktivität aus.

Anwendungsebene

Fügen Sie in der Manifestdatei Android das folgende Attribut zum Tag hinzu, um die Hardwarebeschleunigung für die gesamte Anwendung zu aktivieren:

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

Aktivitätslevel

Wenn sich Ihre Anwendung bei global aktivierter Hardwarebeschleunigung nicht ordnungsgemäß verhält, können Sie sie auch für einzelne Aktivitäten steuern. Um die Hardwarebeschleunigung auf Aktivitätsebene zu aktivieren oder zu deaktivieren, können Sie das Attribut Android: hardwareAccelerated für das Element verwenden. Das folgende Beispiel aktiviert die Hardwarebeschleunigung für die gesamte Anwendung, deaktiviert sie jedoch für eine Aktivität:

<application Android:hardwareAccelerated="true">
    <activity ... />
    <activity Android:hardwareAccelerated="false" />
</application>
14
Alex.F

Wenn Sie <application> Einstellen, bedeutet dies, dass die gesamte App über die Funktion hardwareAccelerated verfügt und Sie sie nicht erneut auf <activity> Einstellen müssen, wenn sich Ihre Anwendung jedoch nicht verhält Wenn die Hardwarebeschleunigung global aktiviert ist, können Sie sie auf <activity> setzen. Dies bedeutet, dass nur bestimmte Aktivitäten die Funktion hardwareAccelerated aufweisen und nicht die gesamte App. Ich denke also, in Ihrem Fall können Sie es nur auf das <application> - Tag setzen.

Sehen Sie hier mehr. https://developer.Android.com/guide/topics/graphics/hardware-accel

3
Tepits