Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android PhoneGap 1.4包装Sencha Touch 2.X-性能如何?_Android_Ios_Performance_Cordova_Sencha Touch 2 - Fatal编程技术网

Android PhoneGap 1.4包装Sencha Touch 2.X-性能如何?

Android PhoneGap 1.4包装Sencha Touch 2.X-性能如何?,android,ios,performance,cordova,sencha-touch-2,Android,Ios,Performance,Cordova,Sencha Touch 2,我正在用Phonegap 1.4构建一个多平台的平板电脑应用程序,只使用它的webview,然后我用Sencha Touch 2框架发挥我的魔力。说到多平台,我指的是iOS5.X+和安卓3.0+(目前) 到目前为止,这个应用程序运行得很好,它的所有功能都可以在两个系统上运行,但是。。。在安卓平板电脑(三星GalaxyTab)上,速度真的很慢。 发生了什么事?我能做点什么吗,或者这只是android的限制 谢谢 里卡多·佩雷: ****编辑****(我想让这篇文章对sencha社区有所帮助) 与

我正在用Phonegap 1.4构建一个多平台的平板电脑应用程序,只使用它的webview,然后我用Sencha Touch 2框架发挥我的魔力。说到多平台,我指的是iOS5.X+和安卓3.0+(目前)

到目前为止,这个应用程序运行得很好,它的所有功能都可以在两个系统上运行,但是。。。在安卓平板电脑(三星GalaxyTab)上,速度真的很慢。 发生了什么事?我能做点什么吗,或者这只是android的限制

谢谢

里卡多·佩雷:


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

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

那么为什么要使用Sencha Touch

  • 在我的例子中:多平台(iOS、Android、Windows Phone、黑莓、Windows、Mac OSX、Linux。共享80-90%的代码)
缓解由于Android系统中缺少可视预处理而导致的性能问题:
  • CSS3重视觉处理:

    • 避免梯度
    • 避开阴影
    • 避免变换和动画
  • 良好的MVC实践:

    • 不要使用更多的视图,而是实际显示
    • 预渲染/预数据提取(如果可能),以避免同时进行渲染和数据处理
  • 对于任何滚动视图,应在Android上禁用overscroll。我已经在Android设备上测试了许多Sencha Touch 2应用程序,由于延迟和延迟,overscroll会导致非常不愉快的体验。(在Galaxy Tab、Nexus S和一些HTC上测试)作者Thiem Nguyen(对不起,我一直在挖掘你的帖子,伙计:P)


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

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

    PS:虽然这与操作系统的限制有很大关系,但你也可以优化你的应用程序,使其在Android设备上运行得更好。根据我的经验,最佳做法是:

    • 不要过度使用CSS3
    • 尽可能减少DOM

    希望能有所帮助。

    我不太确定这个问题是否与操作系统直接相关,就好像这个应用程序运行在Android、iOS等系统上一样

    如果您在低到中等性能的硬件设备(如SamsumgGalaxy)上测试Sencha Touch 2厨房水槽示例,您将遇到低性能问题

    然而,如果你转向更好的硬件设备,比如HTC Desire 2(更接近iPhone4S的产品),你会发现性能会更好

    与iOS相比,我认为Android在Sencha Touch 2的性能方面没有限制。我只是觉得有些设备比其他设备好(iOS总是在高性能设备上运行,比如iPhone/iPad)


    让我们感到痛苦的是,人们倾向于拥有价格较低且具有硬件能力的浏览器。

    我不是phoneGap或Sencha的开发者,但我努力跟上浏览器性能和发展的步伐

    你的应用有太多的抽象层(sencha touch、phonegap、android、webkit、fffuuu),可能很难理解性能问题在哪里

    就我得到的phonegap设计而言,它没有嵌入任何webkit实现,它(在android上)所做的就是使用android.webkit.WebView。我发现很多人抱怨webview的性能比android webkit浏览器差。 这里可能很难改进,因为您使用的是phonegap,如果这对您很重要,那么搞乱android sdk可能会使您失去可移植性

    我认为phonegap的性能问题不仅取决于硬件,还取决于操作系统的浏览器实现


    如果您想优化性能,那么您可以改进js/css代码。这可能很简单,比如在js中缓存DOM节点(DOM查询很慢),保持DOM最小,或者可能更难,因为phonegap针对不同的浏览器引擎实现,为了提高性能,您可能需要针对这些浏览器编写代码。

    关于基于SenchaTouch的应用程序的性能,我有几个基本问题。请参阅LinkedLN团队的这篇文章,了解他们如何通过手工编码DOM操作来提高HTML5应用程序的性能:-

    在本文中,我看到了Sencha Touch的两个问题:-

  • SenchaTouch通过将javascript对象转换为Dom节点并将它们添加到Dom树中来构建其UI。Chrome工具将显示,它最终会向DOM树添加相对较多的div和其他DOM元素。这不会对性能产生不利影响

  • Sencha UI中的大多数Dom节点是由Sencha API代码生成的,而不是由标记生成的。如果我们编写代码来直接操作这些Dom元素,我们能确保它不会产生任何副作用吗


  • 谢谢你的回复。目前,我没有定制任何CSS,但最终我必须这样做。将DOM保持在最小值是什么意思?使用最少数量的组件?要减少HTML元素?是的,有点像删除不必要或不活跃的视图。例如,当您单击一个项目时,当前面板上有3个列表