位置: 编程技术 - 正文

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

  • 外贸企业进项税不抵扣分录
  • 其他权益工具投资属于什么科目
  • 施工合同的印花税需要合同双方都缴纳吗?
  • 企业轿车报废
  • 减免税款借贷方表示
  • 新公司筹建期要做账吗
  • 报完税的发票还能作废吗
  • 托管物资账务处理流程
  • 收到低值资产报废回收款账务处理
  • 核销债权债务依据
  • 个体工商年报怎么弄
  • 核定征收个体户个人经营所得税
  • 外币账户间互转流程
  • 工程施工合同如何核算收入成本?
  • 验资帐户
  • 单位的收入是刷卡怎么做账
  • 评职称用的专利跟地标是一个东西吗?
  • 特许权使用费如何缴纳增值税
  • 发票报账的基本流程
  • 啤酒消费税的计税基础
  • 房产代理公司收客户钱违法
  • 买一赠一使用规则
  • 小规模企业增值税账务处理
  • 工程项目分期付款
  • 订阅报纸属于会计科目吗
  • 税务机关退税
  • 对公账户转钱出来
  • 事业单位利息收入计入什么科目
  • windows7的笔记本有哪些
  • 坏账会计处理方法
  • win11系统关闭防火墙怎么关
  • kb4598481是什么
  • 巴伐利亚森林国家公园钍自然真正自然
  • Yii2 assets清除缓存的方法
  • 餐饮业开具增值税专用发票
  • js获取各种屏幕信息
  • 税控盘开具增值税专用发票步骤
  • 纳税人在电子税务局收到优惠政策
  • 配件出口可以退税吗
  • 现代服务增值税纳税义务发生时间
  • 微擎框架可以干什么
  • 帝国cms采集教程
  • sql实例命名规则
  • 企业所得税汇算清缴表
  • 增量留底退税怎么比增值税高
  • 劳务报酬个人所得税税率表2023
  • SQL Server 2008 R2占用cpu、内存越来越大的两种解决方法
  • 小企业销售商品时,确认收入的标志有
  • 固定资产净残值和净值的区别
  • 月末结存材料的实际成本例题
  • 预收账款确认的条件
  • 社保刚转回来,生孩子能报销吗
  • 发给客户免费的短信
  • 上个月进项发票在哪查询
  • 资产负债表中的货币资金怎么算
  • 房地产开发企业建造的商品房,在出售前
  • 药店医保收入如何查询
  • 因为培训发生的事情
  • 当月作废的专票还是要交增值税吗
  • 财务软件无形资产有哪些
  • 没有水电费发票可以入账吗
  • 增值税结转到本年利润吗
  • 银行业现金流量表
  • 装修待摊费用当月摊销吗
  • mysql索引实战
  • macmysql忘记密码如何配置
  • ubuntu系统常用命令
  • linux ls常用命令
  • xp系统如何更新
  • 用diskgenius硬盘格式转换怎么使用
  • 如何删除win7系统自带游戏软件
  • 怎么检测端口通不通
  • dos批处理教程
  • 用正则表达式替换掉两汉字间的括号
  • 抛物线动画演示视频
  • nodejs 性能优化
  • 国税登录不了
  • 主管税务机构
  • csc联合培养博士资助标准
  • 新疆税务总局网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设