cordova/phonegap/webapp性能优化方法

作了几个cordova的项目,以为webapp性能的确是比不上原生,在IOS上还好,安卓上特别的明显.技术群里面不少人都在说cordova是个渣,没用之类的.其实只是不少人没有深刻去了解,作点小优化,通常的增删改查APP仍是彻底可以知足性能要求的.html

1.有条件能够本身作UI,不要用框架.用框架的话不要用jquery mobile,用sencha touch或者jqmobi(app framework)前端

2.不要在服务器生成UI,在本地生成.jquery

3.前端尽可能少在DOM上插入,删除显示的元素.web

4.把页面切换特效关掉,安卓上不少白屏就是这样出现的.ajax

5.避免网络请求,能够用LocalStorage,sqlite数据库,文件等保存在本地.sql

6.为数据使用本地缓存,如开启ajax的缓存.数据库

7.限制结果集的高度和宽度浏览器

8.不要让界面等数据,先加载界面,再加载数据.如CSS跟html写前面,JS写后面.ajax异步等等.缓存

9.全部的动画用CSS的转换和硬件加速,性能会好不少.服务器

10.使用本地的滚动条,用插件的话,卡出翔!

#scroller {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    position: absolute;
    top: 48px;
    bottom: 0px;
    left: 0px;
    right: 0px;
}

11.避免用click触发,由于会有300毫秒的延迟,直接用touch触发.

12.优化图片,为每个元素设置一个图片的src是很慢的.直接用CSS Sprite Sheets,在不少图片的APP里面效果明显.

13.图片的大小要跟html的容器相适应.

14.不要用阴影和梯度,特别在安卓手机上,阴影渲染的代价太大了.其余还有文字对齐和边界半径.

15.减小回流.减小DOM的数量,减小DOM访问,避免用js调整布局,所有用CSS来完成.

16.没用到的框架,不要傻乎乎的全引用进来,搞清楚你须要哪些,不须要的就别加载了,加载是要时间的,特别在手机浏览器上,特别明显.

17.经过开发者工具来调试,看什么东西占用的时间最多,再有目的的优化.