Paint基本使用-硬件加速

目录
关于硬件加速

API11之前android是没有GPU的概念的,所有的耗时任务和计算都是依靠CPU实现的,所以当计算量很大时就会出现卡顿的现象,API11之后引入了GUP相关的操作,专门用来执行计算和存储多媒体任务。

硬件加速和软件绘制的区别

可以理解成GPU绘制和CPU绘制的区别,CPU绘图主要有两个层次

  • 使view层次结构失效
  • 绘制新的view结构

硬件加速模式下的GPU绘图主要有三个层次

  • 使view层次结构失效
  • 记录、更新绘制指令列表
  • 绘制新的view结构(调用OpenGL相关函数)

GPU绘制经历了 view结构失效–>更新绘制指令–>根据指令调用OpenGL函数完成绘制三个步骤。

硬件加速的优缺点

硬件加速的优点和缺点都很明显:优点就是绘图时渲染刷新的速率变快,消除了原来软件绘制时卡顿的现象。
缺点主要有以下几点:

  • 兼容性问题,主要是OpenGL的兼容性问题
  • 内存消耗问题,加载OpenGL需要消耗大量的内存
  • 耗电问题
开启或关闭硬件加速

Android可以从四个层面禁用硬件加速

Application

为AndroidManifest.xml的application标签配置android :hardwareAccelerated =” true ”,整个应用开启硬件加速;android :hardwareAccelerated =” false ”,整个应用关闭硬件加速

Activity

AndroidManifest.xml的activity标签配置android :hardwareAccelerated =” true ”,单个activity开启硬件加速;android :hardwareAccelerated =” false ”,activity关闭硬件加速

Window

Window层级不支持关闭硬件加速,代码如下:

getWiηdow().setFlags(WindowManager.LayoutParams.FLAGHARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

View

View层级不支持开启硬件加速

set LayerType(View.LAYER_TYPE_SOFTWARE,null};
或者xml中
android:layerType=”software"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值