我听说一般的 Sencha ,仅仅因为使用 javascript,在 Android 设备上有性能问题。
我熟悉 android webview 对象的局限性,但我想知道这些性能声明是否有任何值(value),尤其是在 Sencha Touch 2 即将推出的情况下
虽然我没有低端安卓设备,但我浏览了 Sencha Touch 2 画廊,并不能很容易地找到免费的安卓应用程序,所以也许你可以解释一下你在安卓上使用 Sencha Touch 2 的经历以及你做了让它更快
最佳答案
根据我目前的经验,在开发具有尽可能最佳性能的 Sencha Touch 2 应用程序时,需要牢记一些关键点:
优化应用程序启动时间:
- 压缩您的 JS 和 CSS 文件。删除任何未使用的 JS 函数或 CSS 混合(这可以通过 SASS/Compass 轻松完成)。更多详情,请阅读:http://www.sencha.com/blog/an-introduction-to-theming-sencha-touch
- 动态加载外部 JS 文件,这里已经有一个很好的主题:What is the proper way to load an external javascript in Sencha Touch 2
优化应用程序性能:
- 使您的 DOM 结构尽可能小。应销毁非 Activity View (并在需要时动态添加到您的容器中)。
- 避免使用过多的 CSS3 属性,因为它们在 Android 设备上的运行速度非常慢。
- 对于任何 ScrollView ,都应在 Android 上禁用过度滚动。我在 Android 设备上测试了许多 Sencha Touch 2 应用程序,由于延迟和滞后,过度滚动会导致非常不愉快的体验。 (在 Galaxy Tab、Nexus S 和一些 HTC 上测试)
这里还有一个话题和你关心的很相关:
PhoneGap 1.4 wrapping Sencha Touch 2.X - What about performance?
希望对您有所帮助。
编辑于 2014 年 2 月 12 日:自从我发布此答案以来已经将近 2 年(即我与 Sencha 合作超过 3 年Touch),我不得不说 Sencha Touch 在 Android 上的性能令人遗憾地无法接受。有时我会陷入自己没有完全掌握最佳实践的想法中,但我认为这不是原因。或者至少,我们需要数年时间才能开发出与 native 应用程序具有相同“外观和感觉”的大型 Sencha Touch 应用程序,因为这些技巧花费了我们太多时间。
简而言之,如果您的目标是 iOS 或您的应用非常小,那也没关系。但对于 Android 上的大型应用程序,我个人不使用 Sencha Touch。
关于javascript - Sencha Touch 2 安卓性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10338020/