位置: 编程技术 - 正文

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

  • 没有签订劳动合同可以直接离职吗
  • 不征税收入有哪些增值税
  • 组成计税价格是销售额吗
  • 印花税不通过税金及附加核算
  • 金税四期对企业的六点影响
  • 变更法人代表要查征信吗
  • 出口的商品交消费税吗
  • 小规模企业所得税多少
  • 税务登记投资方经济性质
  • 汇算清缴的利润表本期数与本年数
  • 其他应收款账户期初借方余额为35400
  • 超市送现金券怎么做账
  • 电梯维修增值税
  • 小企业税金及附加会计分录
  • 股权转让印花税是双方都要缴纳吗
  • 金税控系统发票打印设置
  • 税友软件费用
  • 同一地级行政区范围内举例
  • 这个月发票领完了,还可以领吗?
  • 高新企业国家补助收入怎么入账
  • 长期零申报有什么影响
  • 小微企业季度超过45万填报增值税
  • 投资性房地产的后续计量从成本模式转为公允价值模式的
  • windows10 怎么样
  • 生产经营所得个税表
  • 华为手机网络拒绝接入怎么解决
  • 反射动态创建对象
  • 教学用品列入什么费用
  • win11任务管理器怎样调出
  • 电子商票到期后多少天有效?
  • 进项税额转出会计分录福利费
  • sgbhp.exe - sgbhp是什么进程 有什么用
  • 货物无偿赠送分录
  • 销售自己使用过的旧货
  • yolo 源码
  • Zinnowitz pier on Usedom island in the Baltic Sea, Germany (© Frank Günther/Getty Images)
  • 财务费用属不属于当期损益
  • 职工教育经费可以有余额吗?
  • phpstudy目录
  • vue数据表
  • 预付一年的房租并收到了发票会计分录
  • 裁员补偿金如何合理避税
  • sqlserver 死锁查询
  • mysql存储引擎有哪些区别
  • sql2008降级2005
  • 非金融企业之间的借款合同要交印花税吗
  • 突然收到电子退库收入
  • 不需要支付的应付账款
  • 财务报表中的净利润
  • 固定资产报废处理中,最终的净损益应作为
  • 增值税减免税款计入什么科目
  • 公司向个人借款分录
  • 暂估应付账款借贷方向
  • 工地加油
  • 政府预算年度
  • 装饰公司购买的安装服务怎么入账
  • 购买软件会计科目
  • 怎么提升命令提示符
  • ubuntu安装mkl
  • 如何重设路由器密码怎么办
  • Win10 Mobile 10549预览版增DPI缩放 瞬间手机变电脑
  • win10开始菜单怎么居中
  • CentOS安装scp命令详解
  • 电脑已禁用ime是什么
  • jquery prompt
  • perl脚本输出变量
  • 随机游戏插件怎么使用
  • js实现apply函数
  • bootstrap 下拉按钮
  • 详解16型人格
  • 排序方法python
  • javascript中的类型转换
  • android FileNotFoundException(Is a Directory)解决办法
  • APP中javascript+css3实现下拉刷新效果
  • js 回调函数写法
  • javascript静态
  • 税务协查函回复的内容有哪些
  • 新疆干部在线网络平台登录
  • 银行理财收入如何记账
  • 国家产业政策是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设