关于HTML5应用开发功耗调优化小结
HTML5的优化一直是困扰我的难题,特别是在移动端开发游戏和应用,所以对此进行了一些总结:
功耗优化点介绍
在移动设备中主要的功耗点在:
1. 网络的传输, 不管是3G网络还是WiFi传输都是移动设备功耗热点。
2. 页面的加载和渲染,由于页面加载和渲染需要大量的CPU和GPU时间去执行,是移动设备的另一个功耗热点。
在Web开发中,主要的功耗点在于:
1. JavaScript代码的解释执行
2. CSS规则的匹配和渲染
3. 图片的解析和渲染
总结出以下一些对开发者有价值的功耗优化点:
1. 优化JavaScript解释执行的效率
由于JavaScript解释执行是一个功耗热点,所以在移动端优化其效率是可以显著提升功耗的,主要集中的以下三点来优化:
1. 尽量避免使用一些通用的JavaScript库,尤其未经移动端裁剪和优化的库,其中就包括JQuery.js。
2. 仅加载对当前页面执行有用函数,即只加载和本页面有关的JavaScript。传统Web开发经常加载一张大的JavaScript函数,每个页面都可以直接用。但是实际用户可能仅仅看了当前页面就关闭了,并不进入其他页面。
3. 动态的JavaScript执行会增加页面的功耗,所以除非在必要的情况下,尽量少用AJAX。
2. 降低CSS的功率消耗
和JavaScript一样,在CSS的页面中,同样仅仅加载本页面有关的CSS内容,这点本人在做Web开发时,也同样,将所有页面的CSS写在两个甚至一个CSS文件中,可以实现重用,但是这样在移动端显然不是节省功耗的选择。
3. 优化图片的解析和加载
通过对移动浏览器的分析,发现JPEG格式的图片是最节省功耗的。传统的网页开发者一般把小图标做成png格式,中等的做成gif,大图片才会选择JPEG格式。但是在移动端,浏览器不管是大图小图,统一是JPEG格式功耗最省。
转载一个英特尔专家做的实验:
通过分析Facebook和Amazon,将其页面上的所有图片转换为JPEG,功耗的优化结果如下图:
关于HTML5应用开发功耗调优化小结的更多相关文章
- 移动 web 开发问题和优化小结
1.前言 到目前为止,互联网行业里,手机越来越智能化,移动端占有的比例越来越高,尤其实在电商,新闻,广告,游戏领域.用户要求越来越高,网站功能越来越好,效果越来越炫酷,这就要求我们产品质量越来越高,w ...
- 移动web开发问题和优化小结
之前在微信公众号上看到的一篇文章,直接给拷过来了....原文链接http://mp.weixin.qq.com/s/0LwTz-Mw2WumSztIrHucdQ 2.Meta标签 页面在手机上显示时, ...
- css写作建议和性能优化小结
1.前言 还有几天就到国庆中秋了,快要放假了,先祝大家节日快乐!之前写过js的写作建议和技巧,那么今天就来聊聊css吧!说到css,每一个网页都离不开css,但是对于css,很多开发者的想法就是,cs ...
- HTML5游戏开发进阶指南(亚马逊5星畅销书,教你用HTML5和JavaScript构建游戏!)
HTML5游戏开发进阶指南(亚马逊星畅销书,教你用HTML5和JavaScript构建游戏!) [印]香卡(Shankar,A.R.)著 谢光磊译 ISBN 978-7-121-21226-0 201 ...
- HTML5游戏开发,剪刀石头布小游戏案例
剪刀石头布,非常可爱的小游戏,相信大家都非常的怀念这款小游戏,小时候也玩过很多次,陪伴着我的童年的成长,现在是不是还会玩一下,剪刀石头布游戏的规则我们都知道是:剪刀剪布,石头砸剪刀,布包石头.跟朋友. ...
- 2015年必火的五个Html5移动开发工具推荐
NO.1 DCloudHBuilder:基于HTML5开发工具 中文官网:http://www.dcloud.io/ DCloudHBuilder:基于HTML5开发工具是当前最快的HTML开发工 ...
- HTML5游戏开发进阶指南
<HTML5游戏开发进阶指南> 基本信息 作者: (印)香卡(Shankar,A.R.) 译者: 谢光磊 出版社:电子工业出版社 ISBN:9787121212260 上架时间:20 ...
- HoloLens开发与性能优化实践
HoloLens中国版终于于5月底在中国上市,同时国内的技术社区经过一年的成长也有了很大的扩张,越来越多的开发者开始进入了HoloLens开发领域,尝试着使用混合现实(Mixed Reality)技术 ...
- HTML5+ App开发入门
HTML5 Plus应用概述 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实 ...
随机推荐
- effect c++ 口诀。
常用条款,写成口诀,记住.知其所以,也要时时使用. 1)习惯c++: 联替const初. 2)构造,复制,析构: 要知默,构赋析. 若不需,明拒绝. 构析不调虚. 异不逃析构. 基析要虚函. 赋值操, ...
- [转载] linux cgroup
原文: http://coolshell.cn/articles/17049.html 感谢左耳朵耗子的精彩文章. 前面,我们介绍了Linux Namespace,但是Namespace解决的问题主要 ...
- 自定义MVC Html
自定义ASP.NET MVC Html辅助方法 在ASP.NET MVC中,Html辅助方法给我们程序员带来很多方便,其重要性也就不言自明.有时候,我们不想重复地写一些HTML代码,或者MS没有提供我 ...
- 是不是每个新手都要在samba那儿交足够的时间学费?
每次重新装了虚拟机都会在安装几个必要的服务器这个浪费不少时间, 这一次在Fedora20上装samba,这么配置都无法再windows上登陆,查看了各种配置文件,折腾的天昏地暗,最后终于找到原因: 在 ...
- android,JNI创建进程,使用fork()
long add(long x,long y) { pid_t fpid; //fpid表示fork函数返回的值 int count=0; fpid=fork(); if (fpid < 0) ...
- 利用php的序列化和反序列化来做简单的数据本地存储
利用php的序列化和反序列化来做简单的数据本地存储 如下程序可以做为一个工具类 /** * 利用php的序列化和反序列化来做简单的数据本地存储 */ class objectdb { private ...
- xcode6 framework missing submodule xxx 警告
xcode6 framework missing submodule xxx 警告 从xcode6开始,iOS可以直接创建生成framework了 如: 创建 framework 项目,TFKit.f ...
- Django开发博客- 三部曲
其实在django中实现一个功能只需要三个步骤即可,这里我姑且叫它三部曲. 这三部曲就是: 定义urls映射 定义views 定义templates 什么是URL? URL就算一个WEB地址,你在浏览 ...
- jQuery图表开源软件
jQuery图表插件 jQchart jQchart 是一个jQuery的插件,用来绘制图表的.支持各种形状的图表. 示例代码: == Mini sample == $('#canvasMyID'). ...
- [转载]SOAPUI压力测试的参数配置
原文地址:SOAPUI压力测试的参数配置作者:goooooodlife The different Load Strategies available in soapUI and soapUI Pro ...