当程序正常,但是某些操作时或者某些机型 Native 或 H5 的 UI 视觉表现异常(花屏、白屏、闪屏)时,建议先排除硬件加速这一条件。
以下是开启了硬件加速后常遇到的问题列表:
-
硬件加速会导致某些机型在H5网页表现异常:
-
书城网页下拉刷新,动画异常;
-
咪咕充值里支付宝网页充值 back 动画弹窗;
-
客户端内嵌网页,页面返回网页白屏一段时间后恢复(或不恢复);
-
-
客户端使用 ViewPage 实现GIF播放浏览,出现:播放A图过程会串到B图并有电视条纹的异常效果;
-
客户端阅读页翻页效果异常时,可先检查硬件加速;
-
View 刷新时会出现花屏或屏幕上的某些View错位的现象;(书架 webview 广告)
-
使用了 WebView 之后,某些手机阅读页翻页UI花屏异常。
-
某些机型 EditText 中文字重叠
-
...
附:
从Android3.0(API Level 11)开始,支持硬件加速。
硬件加速的级别:Application、Activity、Windows、View
Manifest 配置 Application 、Activity 方式:android:hardwareAccelerated="false"
Window 配置方式:getWindow().setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
View 配置方式:view.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 或者布局中 android:layerType="software"
判断是否开启硬件加速:View.isHardwareAccelerated();、Canvas.isHardwareAccelerated();
不支持的绘图方法:
-
Canvas
-
Paint
-
Xfermodes
官方文档说明:https://developer.android.com/guide/topics/graphics/hardware-accel.html
避免硬件加速导致问题:http://ask.dcloud.net.cn/article/55