`
lynen
  • 浏览: 125103 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

使用硬件加速的注意事项

 
阅读更多

为提高app的整体性能,在manifest文件中配置的时候,有可能会启动硬件加速,如下

android:hardwareAccelerated="true"

 

配置后,发现设备在4.0.4与4.0.3这样的版本上使用图片剪裁功能的时候会crash,捕获到的异常信息如下

java.lang.UnsupportedOperationException at android.view.GLES20Canvas.clipPath(GLES20Canvas.java:429)

 

查询代码发现,在图片剪裁的时候有使用到Canvas.clipPath(path, Region.Op.DIFFERENCE);这个函数

作为Canvas的一个实现类GLES20Canvas,在使用硬件加速的时候会被使用到。

查询GLES20Canvas的源代码,发现在4.0.4与4.0.3这两个版本中,clipPath的实现均为如下代码

public boolean clipPath(Path path, Region.Op op) {
         throw new UnsupportedOperationException();
 }

 直到4.1.1这个版本,sdk中的才进行了具体的实现

@Override
public boolean clipPath(Path path, Region.Op op) {
         // TODO: Implement
         path.computeBounds(mPathBounds, true);
        return nClipRect(mRenderer, mPathBounds.left, mPathBounds.top,
                mPathBounds.right, mPathBounds.bottom, op.nativeInt);
     }

 也就是说,在使用Canvas.clipPath的时候必须要特别注意如果app要使用硬件加速,应该把涉及clipPath的Activity排除在外,配置方法是:

在manifest中activity的配置处配置android:hardwareAccelerated ="false"

分享到:
评论

相关推荐

    ChatGPT技术的硬件加速与模型部署方案.docx

    ChatGPT技术的使用教程、使用方法、使用技巧、使用注意事项、使用中常见问题

    ChatGPT 模型的硬件加速与优化方法解析.docx

    ChatGPT技术的使用教程、使用方法、使用技巧、使用注意事项、使用中常见问题

    ChatGPT技术优化与加速的硬件支持探讨.docx

    ChatGPT技术的使用教程、使用方法、使用技巧、使用注意事项、使用中常见问题

    ChatGPT技术的并行计算与加速器硬件支持.docx

    ChatGPT技术的使用教程、使用方法、使用技巧、使用注意事项、使用中常见问题

    64位系统的flash插件

    注意事项: 1.由于该版本还处于测试期,官方暂不支持自动更新,需要用户手动下载最新文件进行升级更新,请您酌情下载。 2.本版仅适用于Internet Explorer浏览器,不适用于Firefox, Safari, Opera。 3.本版仅适用...

    【SystemVerilog】路科验证V2学习笔记(全600页)

    SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注。 目录如下: 第一章 SV环境构建常识 1 1.1 数据类型 1 四、二值逻辑 4 定宽数组 9 foreach 13 动态数组 16 队列 19 关联数组 21 ...

    ActionScript开发人员指南中文版

    使用StageVideo类来实现硬件加速呈现 第章:使用摄像头 了解Camera类 在屏幕上显示摄像头内容 设计摄像头应用程序 连接至用户的摄像头 验证是否已安装摄像头 检测摄像头的访问权限 最优化摄像头视频品质 监控摄像头...

    android播放gif

    实现内容是:在android实现Gif播放,原理是自定义View,然后在自定view用Movie类实现Gif画在canvas中来播放...注意事项:在注册表对应的Activity中要android:hardwareAccelerated="false",就是说不要利用硬件加速,

    【SystemVerilog】路科验证V2学习笔记(全600页).pdf

    SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注。 目录如下: 第一章 SV环境构建常识 1 1.1 数据类型 1 四、二值逻辑 4 定宽数组 9 foreach 13 动态数组 16 队列 19 ...

    Android高级编程--源代码

     ◆使用加速计、指南针和摄像头硬件  ◆与电话和网络硬件相关的所有内容,如电话api、sms和网络管理等  ◆高级开发主题,包括安全、ipc以及一些高级图形和用户界面技术  读者对象  本书面向希望在android手机...

    电脑分身克隆软件

    唯一一个注意要点就是 Video选项里的Properties 默认状态是软件加速请把它点选到 下面那个 硬件加速 也就是括号(games)的选项。l另外显卡接口是可以选择的,但只支持数字接口 。所以默认即可给他自动选择。接着是...

    直播服务器 屏幕直播在线直播 串流直播 iAvcast3.6.18.6180-x64-20180209.zip

    串流直播系统是串流直播研发团队推出的一款永久...【注意事项】 串流直播定位为高性能专业直播应用领域,它同时支持高度优化的CPU软件编码与GPU硬件编码,为了充分发挥串流直播的优势,请尽量采用它的硬件编码特性。

    webos-vncserver:一种用于WebOS的极易破解的VNC服务器-通过直接从GPU的帧缓冲区读取来工作

    这不会捕获任何硬件加速的视频表面,而仅捕获UI层。 帧缓冲区读取不以任何方式同步。 此外,实际的帧缓冲区是双缓冲的,我们只能从第一个读取。 这可以使代码保持简单,但会导致屏幕撕裂和其他较小的伪影。 查找您...

    Oracle数据库管理员技术指南

    1.4.1 配置参数的一些注意事项 1.4.2 建立参数文件的连接 1.4.3 优化数据字典存储 1.5 理解 CREATE DATABASE 命令 1.6 创建数据库的技术 1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库...

    DOS 软盘+光盘+U盘+硬盘+NTFS 想拥有更强大的DOS功能??

    2、如果U盘出现问题请参考三、U盘版的DOS启动盘最后的注意事项。 -------------------------------------------------------------------------------- 二、光盘版的DOS启动盘 适用对象:有光驱(刻录机)的朋友 ...

    raylib.com:raylib页面

    跳转到特征用PascalCase / camelCase表示法的纯C代码(C99)编写使用OpenGL(1.1、2.1、3.3或ES2)加速硬件独特的OpenGL抽象层(可用作独立模块): 具有SpriteFonts支持的强大字体模块(XNA位图字体,AngelCode...

    Switch-Linux:适用于Linux on Switch的设备树,修补程序等

    可能不是,此回购没有硬件加速,而且我没想到fail0verflow会很快发布他们Linux源代码(我认为我可能至少还要花一个月左右的时间来开发它)。 无论哪种方式,你可能想和我真的不放在这里促进计划。 我会离开仓库,...

    citrix 中文管理操作手册

    SQL Server 的注意事项 149 设置“配置日志记录”数据库连接 149 访问配置日志记录数据库向导 150 配置 SQL Server 数据库以便进行配置日志记录 150 配置 Oracle 数据库以便进行配置日志记录 151 设置“配置日志记录...

    React-Animation-Presentation:关于在React中制作动画的演示

    #注意事项 添加纯渲染混合 React的分布式批处理策略 流线通话/定时 优化硬件加速 如果要达到60 FPS,则只有16ms的帧间隔 ##廉价动画 位置-变换:translate(0px,0px) 比例尺-变换:比例尺(0) 旋转-变换:旋转...

Global site tag (gtag.js) - Google Analytics