android 硬件加速 4.2,Android 4.0的图形硬件加速及绘制技巧(4)

4Android 4.0提示和技巧

切换到硬件加速2D图形可以立即增强表现,但是你还是需要通过如下的建议来设计你的应用程序来更有效率的使用GPU。

4.1 减少你程序中使用View的数量

你系统中画的view的数量越多,你的程序就会越慢,在软件绘制的流程也是一样的,减少view的数量是优化你UI的一个最简单的方法。

4.2 避免过多绘制

不要过多的叠加层,当一个View被其他view完全遮挡住了的话,最好把被遮挡的view移除掉。如果你需要绘制不同的层做一个叠加效果的话,考虑把这些层合并为一个层。就现在的硬件来看,有一个好的经验就是动画的每帧不要绘制多余屏幕像素2.5倍的像素数量(bimap中的透明像素也计算在内)。

4.3 不要在绘制的方法中创建绘制对象

一个常见的错误就是当绘制方法被调用的时候,每次都要创建一个新的Paint或者Path。这将迫使垃圾回收器过于频繁的运行,这将对缓冲和硬件的绘制造成影响。

4.4 不要过于频繁的修改形状

以复杂的shapes,path和旋转为例,这些绘制都会用到纹理的遮罩。每当你创建或者修改一个path,硬件渲染过程都会创建一个新的遮罩,这耗费的代价是相当大的。

4.5 不要过于频繁的修改bitmap

每当修改一次bitmap的内容,当你下次再绘制它的时候都会以GPU的纹理形式上传一次。

4.6 要小心使用alpha通道

当你使用setAlpha ,AlphaAnimation或者ObjectAnimator设置一个View的透明效果时。它将需要2倍离屏的渲染缓冲填充率,当应用一个alpha到一个大的View上的时候,考虑设置view 层的类型为LAYER_TYPE_HARDWARE。

本文作者的微博为http://weibo.com/zuiniuwang 欢迎大家与他联系。

【51CTO.com独家特稿,非经授权谢绝转载,合作媒体转载请注明原文作者及出处!】

【责任编辑:立方 TEL:(010)68476606】

6785eca0c56bd190bf40b9cf66d7c625.png

(0票)

3f8584ba3718a0e03c4aaa86689cb569.png

(0票)

da2ace28913c3d13ee0f496bbf2a720a.png

(0票)

d089b1a3cdcb667fe07fec79eaf24794.png

(0票)

854528b1908051d4128b6c01ca39a9a5.png

(0票)

2fee956e15795cfe1c8724976fc08be6.png

(0票)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值