PhoneGap 1.4包装Sencha Touch 2.X - 性能怎么样?

Ric*_*rdo 24 performance android ios sencha-touch-2 cordova

我正在构建一个多平台平板电脑应用程序,使用Phonegap 1.4使用它的webview包装它,然后我用Sencha Touch 2框架实现我的魔力.通过多平台我的意思是iOS 5.X +和Android 3.0+(现在).

这个应用程序到目前为止工作得很好,它的所有功能都适用于两个系统但是...在Android平板电脑(三星GalaxyTab)上它真的很慢.发生了什么?我可以做些什么,或者只是android的限制吗?

谢谢

Ricardo Perre:http://edgecodetechology.blogspot.pt/


****编辑****(我试图让这篇文章对sencha社区有所帮助)

与许多其他Javascript框架一样,Sencha Touch并不是javascript本身的最佳性能示例.

那么为什么要使用Sencha Touch

  • 就我而言:多平台(iOS,Android,Windows Phone,Blackberry,Windows,Mac OSX,Linux.共享80-90%的代码)

Mitigating performance issues due to lack of visual pre-process in Android systems:

  1. CSS3重视过程:

    • 避免渐变
    • 避免阴影
    • 避免转换和动画
  2. 良好的MVC实践:

    • 不要使用更多视图,而是实际显示
    • 在可能的情况下进行预渲染/预数据提取,以避免同时进行渲染和数据处理
  3. 对于任何滚动视图,应在Android上禁用过度滚动.我已经在Android设备上测试了许多Sencha Touch 2应用程序,并且由于延迟和滞后而导致过度滚动导致非常不愉快的体验.(由Galaxy Tab,Nexus S和一些HTC测试)作者:Thiem Nguyen(我一直在挖你的帖子,抱歉老兄:P)

Thi*_*yen 16

同样在这里.我在三星GalaxyTab上测试了很多我的Sencha Touch 2应用程序,性能非常糟糕.有一个事实(可能是实际原因的一部分),iOS在渲染之前进行了许多预处理和计算,使用户的外观和感觉看起来更流畅,而Android则倾向于在移动中同时渲染和处理.

总的来说,可以说,对于构建在Javascript上的每个跨平台移动应用程序,如Sencha Touch,iOS性能明显优于Android.然而,Sencha Touch开发团队正在尽最大努力改进这一点,希望在下一版本中它会更好.你可以看到这篇关于iOS和Android设备性能比较的文章.

http://www.sencha.com/blog/sencha-touch-2-developer-preview/

PS:虽然它与操作系统的限制非常相关,但您还可以优化您的应用,使其在Android设备上表现更好.根据我的经验,最佳做法是:

  • 不要过多使用CSS3.
  • 保持您的DOM尽可能小.

希望能帮助到你.

  • 是的,删除不必要或不活跃的视图.例如,当前面板上有3个列表,当您单击列表1中的项目时,它会显示列表2,类似地显示列表3(简单示例是类别 - >产品 - >产品详细信息),然后仅当用户点击时在列表1上,您添加列表2,类似于列表3.此外,当用户点击"返回"时,删除列表3,然后列出2,等等.这样,您可以确保只在DOM中保留必要的视图以供显示,其他人被摧毁:) (2认同)