位置: 编程技术 - 正文

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底层绘图引擎)

  • 小规模纳税人企业所得税税率
  • 缴纳去年的企业所得税怎么做账
  • 城建税和教育费附加减免政策
  • 个人所得税速算扣除数表
  • 网上申领发票收到后需要怎么操作
  • 税控盘280抵扣报税填在
  • 非主营业务收入计入什么科目
  • 费用化支出期末结转
  • 下列支出不可以从其应纳税所得额中扣除的是
  • 经济法中企业营业收入包括哪些?
  • 法人费用报销怎么报销
  • 员工福利费进项转出
  • 一般纳税人税负率一般控制在多少?法律依据
  • 出口退税申报系统汇率修改
  • 验资取消股东怎么办
  • 行政单位的存货是什么
  • 工业企业成本结构
  • 买粽子会计怎么做账
  • 园林绿化公司购入剪刀怎么做会计分录
  • 土地闲置费可以税前扣除吗
  • 坏账准备怎么冲回
  • 进项税额转出凭证怎么做
  • 小微企业核定征收所得税税率
  • 二手车抵押银行贷款
  • 调减管理费用如何调整本年利润
  • 小规模纳税人计提增值税账务处理
  • 交强险保单被保险人写谁都行?
  • 结转未交增值
  • 购买监控设备费用谁出
  • 浅谈使用链式管理加强特殊监管场所
  • 不确认收入要结转成本吗
  • phpbug
  • php返回上一级
  • lpstat命令
  • ssh-keygen -m pem
  • 时间格式转换成小时数
  • 残次品生产成本计算
  • 购买黄金会计分录怎么写
  • sqlserver数据库锁表如何解锁
  • 补计提工资什么意思
  • 跨年取得的发票金额大于暂估金额
  • 库存商品的科目设置
  • 机械租赁的主要工作内容
  • 中级会计报名必须用电脑吗
  • 办公桌椅入什么会计科目
  • 发放工资社保的账务处理
  • 已认证发票红冲全流程操作
  • 募捐建议
  • 补助资金如何做账
  • 一次性工伤医疗补助金怎么领取
  • 收到联营单位投入的设备一台
  • 企业购买土地如何缴税
  • 建筑业简易征收税率5%
  • 用户登陆login什么意思
  • sql server 错误
  • xp系统exiting pxe rom
  • incomp.file ver什么意思
  • ubuntu18.04网络
  • Mac借助其他电脑做系统
  • window10如何修改电脑名称
  • window10如何校色
  • 列举css的三种应用方式
  • 用python进行翻译
  • perl 教程
  • promise实例方法
  • js获取指定元素
  • javascript in
  • 微信内置浏览器怎么清除缓存
  • python编写步骤
  • 套接字java
  • 在jquery中fadein
  • 周炜老婆是干什么的
  • 发票查验怎么弄
  • 车辆购置税查询官网四川
  • 惠州市国家税务局稽查局局长
  • 虚假纳税申报的法律责任
  • 资源税谁缴纳
  • 商住两用房出售要交契税吗
  • steam充值码生成
  • 劳务费用 扣税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设