[日常问题] E/OpenGLRenderer: getCachedTexture Texture got from cache, but check failed(4). bitmap(width=

记录日常问题


项目之前使用了StackBlur

然后在小米5 测 试机7.0系统上,出现了闪屏问题


小米5还是6.0的时候没有这个问题

目前先禁用了activity级别的硬件加速

android:hardwareAccelerated="false"

改为判断版本启动windows级别的硬件加速

if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
   //只在7.0以下启用硬件加速,目前小米5 android7.0 启动硬件加速会导致屏幕闪烁
   getWindow().setFlags(
         WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
         WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
}


发现禁用了activity级别的硬件加速之后

在旧手机上性能不明显下降

出现滑动卡顿等现象

然后借用了其他同事的三星7.0手机

发现并不存在同样的问题

所以在当前自定义view里面进行了设置

if (TextUtils.equals("Xiaomi", android.os.Build.BRAND) &&
      Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
   setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
仅在小米7.0上生效


你可能感兴趣的:(android)