View系列:硬件加速,全网首发,腾讯Android面试题

  • Android 允许在多个级别选择是启用还是停用硬件加速。
  • 启用硬件加速需要更多资源,因此应用会占用更多内存

控制硬件加速

App

<application android:hardwareAccelerated=“true” …>

Activity
Window

目前在窗口级别无法停用硬件加速

//开启
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

View

目前在视图级别无法启用硬件加速

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);// 关闭

确定是否经过硬件加速
  • 如果 View 已附加到硬件加速窗口,则 **View.isHardwareAccelerated() **会返回 true。
  • 如果 Canvas 经过硬件加速,则**Canvas.isHardwareAccelerated() **会返回 true
不受支持的绘制操作

绘制模型(原理)

  • 软件绘制:使用CPU绘制到Bitmap,然后把Bitmap渲染到屏幕
  • 硬件绘制:CPU把绘制内容转换成GPU操作,由GPU负责真正的绘制

在硬件加速关闭的时候:

Canvas绘制的工作方式是:把要绘制的内容写进一个 Bitmap,在之后的渲染过程中,这个 Bitmap的像素内容被直接渲染到屏幕。 这种绘制方式的主要计算工作在于把绘制操作转换为像素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值