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应用开发功耗调优化小结的更多相关文章

  1. 移动 web 开发问题和优化小结

    1.前言 到目前为止,互联网行业里,手机越来越智能化,移动端占有的比例越来越高,尤其实在电商,新闻,广告,游戏领域.用户要求越来越高,网站功能越来越好,效果越来越炫酷,这就要求我们产品质量越来越高,w ...

  2. 移动web开发问题和优化小结

    之前在微信公众号上看到的一篇文章,直接给拷过来了....原文链接http://mp.weixin.qq.com/s/0LwTz-Mw2WumSztIrHucdQ 2.Meta标签 页面在手机上显示时, ...

  3. css写作建议和性能优化小结

    1.前言 还有几天就到国庆中秋了,快要放假了,先祝大家节日快乐!之前写过js的写作建议和技巧,那么今天就来聊聊css吧!说到css,每一个网页都离不开css,但是对于css,很多开发者的想法就是,cs ...

  4. HTML5游戏开发进阶指南(亚马逊5星畅销书,教你用HTML5和JavaScript构建游戏!)

    HTML5游戏开发进阶指南(亚马逊星畅销书,教你用HTML5和JavaScript构建游戏!) [印]香卡(Shankar,A.R.)著 谢光磊译 ISBN 978-7-121-21226-0 201 ...

  5. HTML5游戏开发,剪刀石头布小游戏案例

    剪刀石头布,非常可爱的小游戏,相信大家都非常的怀念这款小游戏,小时候也玩过很多次,陪伴着我的童年的成长,现在是不是还会玩一下,剪刀石头布游戏的规则我们都知道是:剪刀剪布,石头砸剪刀,布包石头.跟朋友. ...

  6. 2015年必火的五个Html5移动开发工具推荐

    NO.1   DCloudHBuilder:基于HTML5开发工具 中文官网:http://www.dcloud.io/ DCloudHBuilder:基于HTML5开发工具是当前最快的HTML开发工 ...

  7. HTML5游戏开发进阶指南

    <HTML5游戏开发进阶指南> 基本信息 作者: (印)香卡(Shankar,A.R.)    译者: 谢光磊 出版社:电子工业出版社 ISBN:9787121212260 上架时间:20 ...

  8. HoloLens开发与性能优化实践

    HoloLens中国版终于于5月底在中国上市,同时国内的技术社区经过一年的成长也有了很大的扩张,越来越多的开发者开始进入了HoloLens开发领域,尝试着使用混合现实(Mixed Reality)技术 ...

  9. HTML5+ App开发入门

    HTML5 Plus应用概述 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实 ...

随机推荐

  1. THE SENSE OF BEAUTY

    #include<stdio.h> int main() { ][] = { " ,.:;j", " ,: i. .,:;ff", " : ...

  2. Spring 自动装配 Bean

    Spring3系列8- Spring 自动装配 Bean 1.      Auto-Wiring ‘no’ 2.      Auto-Wiring ‘byName’ 3.      Auto-Wiri ...

  3. Python学习(10)元组

    目录 Python 元组 访问元组 修改元组 删除元组 元组运算符 元组索引,截取 无关闭分隔符 元组内置函数 Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组 ...

  4. Eclipse用Tomcat插件部署Java Web项目

    Eclipse版本3.7.2,Tomcat插件是3.3 详细步骤如下: 1.下载tomcatPlugin插件 tomcatPlugin下载地址http://download.csdn.net/deta ...

  5. 闲谈--心态 (zhuan)

    http://blog.csdn.net/marksinoberg/article/details/53261034 ***************************************** ...

  6. QQ聊天即时代码

    QQ即时聊天代码:[需对方已经即时聊天工具功能 开通入口http://shang.qq.com/v3/widget.html] tencent://Message/?Uin=84065994& ...

  7. 20160808_Shell书

    1. http://item.jd.com/11075150.html 2.

  8. foundation系列

    1如何将布尔值转为OC对象?  1把 BOOL 值包装到 NSNumber中: NSNumber *boolNumber = [NSNumber numberWithBool:YES]  2获取BOO ...

  9. iOS开发 cocoapods的安装以及使用

    一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库(从一个坑出来,又 ...

  10. opencv249配置

    vs环境变量 opencv环境变量 D:\opencv\opencv\build\x86\vc12\bin D:\opencv\opencv\build\x64\vc12\bin 包含目录 D:\op ...