3

我正在使用 Cordova 2.9 和 jQM 1.1.0 开发一个 Android 混合应用程序。

在一个地方,用户可以在 Textarea 中添加注释,并且在以下 Android 版本上速度很好:

GB 2.3.x
JB 4.1
Nexus4 4.2, 4.3
Nexus7 4.3
Intel Emulator w/4.3

在 ICS、4.0.3、三星 GS3 和 Amazon Kindle HD 8.9"(以及带 4.0.3 的英特尔仿真器)上,输入响应非常慢。我输入“测试”这个词时,我'我已经完成了点击这个词,它会在整个词出现之前再过 2 秒。

当我使用默认的 Android 浏览器或 ICS 上的 Android Chrome 打开 HTML 时,键盘速度很好。

input[type=text]/input[type=number]两者的行为方式相同。

我发现有帮助:

- reboot device
 - disable Android spellcheck (Settings-Language/Keyboard-KeyboardSettings-spellcheck)
 - CSS to fix double-input issue, and disable keyboard spellcheck and word prediction
textarea {
-webkit-user-modify: read-write-plaintext-only;
}

尝试转换为可编辑的 div,但这似乎没有帮助。

我的下一步是检测 Cordova 库以尝试在那里找到一个瓶颈,但我希望在投入时间之前找到一个不同的解决方案。

4

1 回答 1

1

我找到了解决 ICS Webview 上打字速度非常慢的方法。

我已经禁用了一些昂贵的 CSS 功能,例如 box-shadow、text-shadow、border-radius 以及所有这些都有帮助的功能。

改变打字速度的重大变化是删除了所有背景图像:渐变 css 规则。

在 Phonegap 谷歌组https://groups.google.com/forum/#!searchin/phonegap/slow/phonegap/JNTlZpSZod8/nLvsH2noum4J上找到了 Kerri Shotts 对此的参考

由于 CPU 将完成所有的合成,因此您需要尽可能减轻它的负载:透明度在这里将是一件大事——也就是说,摆脱它。可怕,我知道,但是如果 CPU 必须将任何内容混合在一起,它会花时间去做,结果是一个缓慢的应用程序。摆脱盒子阴影、文本阴影、漂亮的 CSS 渐变等。如果你必须拥有这些,请像我们以前使用透明 PNG 之前那样构建那些——图像切片(呃)。令人作呕,是的,但是除非您愿意处理速度较慢的应用程序,否则这是我所知道的唯一要做的事情。此外,尽可能减少图像大小,不需要图像缩放,并尽可能减少 HTML 元素。

于 2013-10-22T17:45:14.270 回答