位置: 编程技术 - 正文

GLWallpaperService分析一

编辑:rootadmin

推荐整理分享GLWallpaperService分析一,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

WallpaperService是用来实现动态壁纸的服务,使用WallpaperService的典型方式是实现自定义的继承自WallpaperService的动态壁纸类。并实现它的WallpaperService.Engine。WallpaperService的onCreateEngine()方法会返回这个engine的实例。

常见的自定义的动态壁纸实现如下:

AndroidManifest.xml

实现

以上代码摘自疯狂Android讲义的示例代码,其本身是参考的Android示例源码的CubeLiveWallpaper动态壁纸(Android4.2androiddevelopmentsamplesCubeLiveWallpaper)

可以发现由于WallpaperService本身由于是一个Service,所以其无法直接在UI上进行绘图,而是会通过锁定surface上面的画面,并返回一个画布Canvas。然后在Canvas上绘制图片或者颜色,形状等,绘制完毕后再释放对画面的锁定,并将画布展示在屏幕上。

这种方法注定无法快速的处理我们想要展示的动画,比如绘制一个随着手指滑动的波纹,这种效果更多的是需要更加快速的展示,而不是Canvas绘制时如同幻灯片一般的卡顿。

这方面的例子还有比如大名鼎鼎的Jake Wharton(ActionBarSherlock,Android-ViewPagerIndicator,butterknife,NineOldAndroids作者)的早期作品BreakoutWallpaper,SnakeWallpaper,WakkaWallpaper,TronWallpaper其实现效果都是一帧一帧的动画

GLWallpaperService分析一

而Android系统自带的动态壁纸如MagicSmoke等。其为什么能够实现流畅的动画效果的?

是因为其使用的是RenderScript脚本,使用render脚本来渲染基础的surface画面。

这样通过高效的渲染脚本来直接绘制画面,流畅的绘制动态壁纸。

对于不熟悉rs脚本的coder,是不是在自己实现动态壁纸的时候,也能够直接绘制surface而让动态壁纸真正流畅的运行起来?

答案是肯定的。Mark F Guerra的github上实现了一个GLWallpaperService——一个使用OpenGL 的Android动态壁纸库。通过使用该库,能够更快速的实现一个使用OpenGL的 快速渲染的动态壁纸。在Android里如何使用OpenGL,可以参考下面这个教程:

后面会进行如下分析:

GLWallpaperService 的使用

GLWallpaperService 实现分析

Qt新渲染底层Scene Graph研究(二) Qt新渲染底层SceneGraph研究(二)上一篇文章初步介绍了Qt新渲染底层SceneGraph,我们该如何利用这个框架为应用程序增添绚丽的效果呢?首先,我们要明

在win7环境下安装Qt配置Opencv 安装Qt配置Opencv并不是件容易的事,并且在win7环境下更麻烦。不过我们还是因为没有彻底的搞懂其中的原理,所以才安装的费劲。其实网上有很多安装

OpenGL中的多重采样 OpenGL中的多重采样抗锯齿处理的最大优点之一就是它能够使多边形的边缘更为平滑,使渲染效果显得更为真和自然。点和直线的抗锯齿处理是得到广泛

标签: GLWallpaperService分析一

本文链接地址:https://www.jiuchutong.com/biancheng/369645.html 转载请保留说明!

上一篇:Qt新渲染底层Scene Graph研究(一)(qt渲染机制)

下一篇:Qt新渲染底层Scene Graph研究(二)(qt底层绘图引擎)

  • 增值税查询校验码是什么
  • 递延所得税负债转回怎么理解
  • 出口结汇必须要开票吗
  • 哪些发票可以抵扣税
  • 汽车租赁服务开发票税率
  • 电子发票如何发给用截图发送可以吗?
  • 车险 专票
  • 以前减记存货价值的影响因素是什么意思
  • 销售免税的有机食品
  • 二手车增值税发票怎么开
  • 事业单位职工福利费计提标准和使用
  • 以前年度长期股权投资漏记调整
  • 境外支付佣金如何开发票
  • 销售合同总金额含税还是不含税
  • 增值税发票过期了,对方可以重开吗
  • 企业一次性补助金是多少标准
  • 问福利费的发票如果是增值税专用发票,增值税可以抵扣吗?
  • 税前利润弥补亏损
  • 利润表的上期金额和本期金额之间的关系
  • 专用发票购货清单怎么写
  • win10 2004 2009
  • 工资一直计提但是未发有影响吗
  • mac dash
  • 前端获取当前地址
  • rmb转
  • 偷渡者视频
  • wmpdmc.exe是什么意思
  • 企业所得税税款
  • minilauncher是什么
  • 发行股票溢价计入哪里
  • 材料采购业务流程
  • 库存股会计处理 会计视野
  • php并发编程
  • 购买股票的会计科目
  • 注销公司财务报表范本
  • 办公室装修款怎么做账
  • win11 退回
  • 学习率设置
  • 此战成硕,我成功上岸西南交通大学了~~~
  • 企业有外币账户怎样做账
  • 有什么是即征即退税的
  • python如何获取列表元素
  • 资产减值损失借方余额在利润表怎么填列
  • Windows PostgreSQL 安装图文教程
  • 非盈利组织企业所得税主表如何填列
  • 融资租赁会计处理中,承租人与出租人之间有哪些联系?
  • 企业现金流量表怎么分析
  • 个人独资企业法主要内容
  • 怎么计算土地增值税收入
  • 事业单位如何调档案
  • 先款后票图片
  • sql server 数据库介绍
  • navicate创建存储过程
  • xp系统如何安装软件
  • linux 清理
  • xp系统如何做
  • ie的进程
  • win10触摸模式开启
  • mtask.exe - mtask是什么进程 有什么用
  • win10系统如何解除屏保
  • win7安全更新kb4534314
  • win10无法启动diagnostic policy service
  • opengl入门教程(精)
  • nodejs xhr
  • css分页样式
  • javascript创建对象的几种方法
  • 本地安装策略在哪里
  • js正则匹配特殊符号
  • gridview行数
  • java urlencode如何使用
  • jquery使用教程
  • 修改jquery版本号不生效
  • sudo提权漏洞
  • 带领大家学习javascript基础篇(一)之基本概念
  • 房子没有使用权
  • 关联企业之间借款的税收处理
  • 杨静儿多少岁
  • 客运站汽车票查询真伪
  • 营改增之前和之后
  • 深圳机打发票查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设