android 中禁用硬件加速提供了不同的方法,分为Application,Activity,Window,View 4 个层级。
在AndroidManifest.xml文件中为application添加如下属性,即可为整个应用程序开启 /关闭硬件加速。
<application
android:hardwareAccelerated="true"
android:theme="@style/AppTheme">
</application>在Activity标签下使用 android:hardwareAccelerated属性开启或关闭硬件加速
<activity
android:hardwareAccelerated="false"
android:name=".util.FragmentContainerActivity"/>在Window层级上使用如下代码开启硬件加速(在window层级上不支持关闭硬件加速)
getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);在View层级上使用如下代码关闭硬件加速(在View层级上不支持开启硬件加速)
setLayerType(LAYER_TYPE_SOFTWARE,null);
或者在layout xml中使用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layerType="software"
>
</LinearLayout>