硬件加速导致的问题集合(欢迎补充)

来源:互联网 发布:php服务器搭建 编辑:程序博客网 时间:2024/05/22 12:06

当程序正常,但是某些操作时或者某些机型 Native 或 H5 的 UI 视觉表现异常(花屏、白屏、闪屏)时,建议先排除硬件加速这一条件。

以下是开启了硬件加速后常遇到的问题列表:

  1. 硬件加速会导致某些机型在H5网页表现异常:
    1. 书城网页下拉刷新,动画异常;
    2. 咪咕充值里支付宝网页充值 back 动画弹窗;
    3. 客户端内嵌网页,页面返回网页白屏一段时间后恢复(或不恢复);
  2. 客户端使用 ViewPage 实现GIF播放浏览,出现:播放A图过程会串到B图并有电视条纹的异常效果;
  3. 客户端阅读页翻页效果异常时,可先检查硬件加速;
  4. View 刷新时会出现花屏或屏幕上的某些View错位的现象;(书架 webview 广告)
  5. 使用了 WebView 之后,某些手机阅读页翻页UI花屏异常。
  6. 某些机型 EditText 中文字重叠
  7. ...
 
附:
从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
    • clipPath()
    • clipRegion()
    • drawPicture()
    • drawTextOnPath()
    • drawVertices()
  • Paint
    • setLinearText()
    • setMaskFilter()
    • setRasterizer()
  • Xfermodes
    • AvoidXfermode
    • PixelXorXfermode
 
官方文档说明:https://developer.android.com/guide/topics/graphics/hardware-accel.html
避免硬件加速导致问题:http://ask.dcloud.net.cn/article/55
2 0
原创粉丝点击