`

java.lang.UnsupportedOperationException android.view.GLES20Canvas.clipPath

阅读更多

今天自定义控件使用Canvas绘图的时候遇到的这个错误,看错误的描述,是不支持这个clipPath方法的。而且在2.3的机器上没有问题,是一部4.0的机器报了这个问题。查看这个Canvas的子类实现GLES20Canvas,发现这是在开启硬件加速时使用的。看来还是和硬件加速有关。打开手机的开发者选项,发现硬件加速没有被开启,应用里也没有开启,有点奇怪了,可能是手机优化自动开启了硬件加速。

硬件加速这个特性是从API 11加入的,可以大大加快View的绘制,是个很不错的功能,所以我们不可能在我们的程序里直接关闭这个功能这样我们的应用就使用不了这个特性了,所以在Application标签里设置android:hardwareAccelerated="false'不可行。所以可以在用到这个自定义View里的Activity里使用android:hardwareAccelerated=“false”来配置,这样其他的Activity可以继续使用同步加速的特性。不过你的自定义View用到的地方比较多,一个个Activity配置也不太方便,所以最好的办法是在你的自定义View里禁用View级别的硬件加速。可以通过以下代码来实现

if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB){//API 11及其之上
    setLayerType(LAYER_TYPE_SOFTWARE,null);//禁用硬件加速
}

 

分享到:
评论

相关推荐

    java.lang.UnsupportedOperationException异常(csdn)————程序.pdf

    java.lang.UnsupportedOperationException异常(csdn)————程序

    Android 兼容性问题:java.lang.UnsupportedOperationException解决办法

    主要介绍了Android 兼容性问题:java.lang.UnsupportedOperationException解决办法的相关资料,需要的朋友可以参考下

    Android webveiw 出现栈错误解决办法

    主要介绍了Android webveiw 出现栈错误解决办法的相关资料,出现java.lang.UnsupportedOperationException: For security reasons, WebView is not allowed in privileged processes,这里提供解决办法,需要的朋友...

    1 ElasticSearch 安装

    ElasticSearch Linux系统安装教程

    prueba-javassist:用于动态代码插入的字节码级别的类操作测试

    测试javassist 用于动态代码插入的字节码级别的类操作测试虚拟机参数-agentlib:jdwp = ... 根据您运行的 JVM,可能会出现以下错误:线程“HotSwap”中的异常 java.lang.UnsupportedOperationException:未实现架构更改

    环信移动客服DEMO无问题版

    > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException 解决这个问题

    list使用过程中遇到的坑

    xception in thread "main" java.lang.UnsupportedOperationException Arrays.asList转化基本数据类型数组的时候有个意想不到的坑 当我们在实际业务开发过程中,难免会遇到数组转List的操作,通常我们所选择的就是...

    MockDialogInterface.rar_All You Need

    A mock {@link android.content.DialogInterface} class. All methods are non-functional and throw {@link java.lang.UnsupportedOperationException}. Override it to provide the operations that you need.

    Proguard v5.3.3.rar

    代码混淆的时候出现java.lang.UnsupportedOperationException: Unsupported class version number [52.0] (maximum 51.0, Java 1.7),原因是proguard.jar版本太低,需要5.0以上的版本

    java 操作错误(UnsupportedOperationException)

    java 操作错误(UnsupportedOperationException) java 操作错误(UnsupportedOperationException)

    java 面试题 总结

    java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置...

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...

    Android快速开发系列 10个常用工具类实例代码详解

    1、日志工具类L.java package com.zhy.utils; import android.util.Log; /** * Log统一管理类 * * * */ public class L { private L() { /* cannot be instantiated */ throw new ...

    odd-collection:一些集合的想法,用 Java 8 实现

    这个概念的后果是:putAll 方法,这是一个可选方法,抛出一个 UnsupportedOperationException,因为我不能保证给定 Map 的所有元素都会添加到 BijectiveMap。 有些可能会被压缩,并且不能保证如果您尝试放置具有 5 ...

    超级有影响力霸气的Java面试题大全文档

     java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和 Integer 有什么区别  Java 提供两种不同的类型:引用类型和原始类型(或...

    java范例开发大全(pdf&源码)

    第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境 5 1.2.4 测试JDK配置是否成功 7 实例1 开发第一个Java...

    java范例开发大全源代码

    第1篇 Java编程基础  第1章 Java开发环境的搭建(教学视频:9分钟) 2  1.1 理解Java 2  1.2 搭建Java所需环境 3  1.2.1 下载JDK 3  1.2.2 安装JDK 4  1.2.3 配置环境 5  1.2.4 测试JDK配置...

    java范例开发大全

    第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境 5 1.2.4 测试JDK配置是否成功 7 实例1 开发第一个Java...

Global site tag (gtag.js) - Google Analytics