更新:现在使用 ST2 的时间更长了,Android 上的性能挑战只是你必须接受的事情。您可以采取许多措施来避免性能问题,例如减少侦听器和事件、保持 DOM 轻量级(低于 2000 个节点)以及通常避免任何 CSS3 转换和效果(尤其是这些在 Android 上表现不佳)
要考虑的另一件事是,您可以使用 CrossWalk 浏览器并将其嵌入到 APK 中,而不是使用内置的 WebView。
https://crosswalk-project.org
它为您的 APK 增加了一点大小(15-20MB),但它的性能比内置的 WebView 更好,并为非常分散的平台带来了稳定性和一致性。考虑一个现实,Android 上的每个 WebView 取决于设备、供应商和操作系统版本可能在细微的方面有所不同。CrossWalk 将允许您在所有 Android 4.0+ 设备上拥有完全相同的版本,并消除任何设备或供应商特定的问题。
Android 上的性能没有灵丹妙药。图形加速不会提高纯 javascript 执行或 DOM 操作的性能。如果您想了解原因,请从这里开始:
回流和重绘有什么区别?
Older Answer (may still be valid):
For ICS and above the following setting on the webview will significantly improve rendering performance for Sencha Touch on Android:
mWebView.setLayerType(WebView.LAYER_TYPE_HARDWARE, null);
However in my experience this will introduce artifacts into CSS rendering depending on the device and platform variation. I haven't specifically found a reason for this and I don't expect Google will resolve it as the webview component will be getting replaced with a newer and better version in Android 4.4.
https://developers.google.com/chrome/mobile/docs/webview/overview