zoukankan      html  css  js  c++  java
  • Sencha Touch + PhoneGap + Html5 在Android下的性能优化

    最近用Sencha Touch + PhoneGap 开发了一个产品,在IOS上运行流畅,在Android上切换页面几下就闪屏,字体也变模糊了。看上去是性能问题,GPU渲染,内存,都有可能,这绝对接受不了,得治。

    团队开始分析内存,代码架构,折腾了一两周,感觉不明显,用户体验还是较差。

    直到有一天,在看其他HTML5的框架中,无意提到了这点,hardwareAccelerated属性,硬件加速执行的所有的绘图操作都是使用GPU在View对象的画布上来进行的。启用硬加速最简单的的方法是对整个应用启用硬件速.如果你的应用只使用标准的view和Drawable,全局启用硬加速将不会带来任何负面影响。但是,下面是官方的解释,

    However, because hardware acceleration is not supported for all of the 2D drawing operations, turning it on might affect some of your custom views or drawing calls. Problems usually manifest themselves as invisible elements, exceptions, or wrongly rendered pixels. To remedy this, Android gives you the option to enable or disable hardware acceleration at multiple levels.

    硬件加速对原生开发可能会带来好处,但对于只是套了个webview,其他都是html+js的mobile app来说,就可能会起到反作用了,需要实际测试后决定是否开放。

    在AndroidManifest.xml中harewareAccelerated默认为true,改为false。即关闭硬件加速功能。

        <application android:hardwareAccelerated="false" android:icon="@drawable/icon" android:label="@string/app_name">
              <activity android:name="com.moodys.mobile.MoodysWebTrendActivity" />

    整个App瞬间年轻了好多,既快也不闪,Android板也不用再背锅了。

    快哉.

     

  • 相关阅读:
    Kubernetes 认证(证书)过期怎么办
    JavaScript 全屏显示窗口
    IE6下很无语的问题,不知为何
    项目开发-让设计模式成为一种心智(转)
    CSS中Float概念相关文章采撷
    随记浏览器兼容性
    常用正则表达式
    ASP.NET 调用Delphi DLL问题
    ASP.NET调用DELPHI DLL
    转:Oracle 排序中常用的NULL值处理方法
  • 原文地址:https://www.cnblogs.com/yodateam/p/4195106.html
Copyright © 2011-2022 走看看