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板也不用再背锅了。

    快哉.

     

  • 相关阅读:
    mac安装numpy引发的一系列问题
    HttpWebRequest提交数据
    Codeigniter Setting 增强配置类
    WPF 创建无边框的圆角窗口
    wpf textbox只能输入数字,屏蔽中文输入
    Frame用navigate导航到新页面后导航条隐藏的方法
    WPF利用VisualTreeHelper遍历寻找对象的子级对象或者父级对象
    GitHub for Visual Studio使用讲解
    mvvmlight下passwordBox绑定的解决方法
    WPF+MVVM+EF示例1
  • 原文地址:https://www.cnblogs.com/yodateam/p/4195106.html
Copyright © 2011-2022 走看看