• cordova/phonegap/webapp性能优化方法


    做了几个cordova的项目,觉得webapp性能的确是比不上原生,在IOS上还好,安卓上特别的明显.技术群里面很多人都在说cordova是个渣,没用之类的.其实只是很多人没有深入去了解,做点小优化,一般的增删改查APP还是完全能够满足性能要求的.

    1.有条件可以自己做UI,不要用框架.用框架的话不要用jquery mobile,用sencha touch或者jqmobi(app framework)

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

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

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

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

    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.通过开发者工具来调试,看什么东西占用的时间最多,再有目的的优化.

  • 相关阅读:
    拼接数组的几种方法
    小议GetHashCode()方法
    如何在窗体间传递数据!
    设置TextBox控件的滚动条位置
    关于Console.Read()方法的一些误解!
    从内存布局角度谈谈值类型和引用类型!
    在Windows线程中模拟其他用户上下文!
    将文本插入TextBox控件的光标位置!
    用C#实现屏幕键盘!
    CLR的程序集定位算法
  • 原文地址:https://www.cnblogs.com/linl/p/4035851.html
Copyright © 2020-2023  润新知