gpt4 book ai didi

javascript - Android 性能在高于 2.3.5 (phonegap/cordova) 的更高版本上受到影响

转载 作者:可可西里 更新时间:2023-11-01 18:48:03 25 4
gpt4 key购买 nike

目前我正在使用 Phonegap/Cordova (2.1.0/2.2.0)、JQ-Mobi(不是 jQueryMobile)、HTML5 和 Javascript 以及 CSS3 开发 Android 应用程序。该应用程序包含 2 个 native 扩展。

不知何故,当我将我的项目导出到具有最新 Android 版本的设备时,该应用程序的运行速度比 2.3.5 设备慢得多。

我已经尝试启用 HardwareAcceleration 并删除了所有的框阴影和其他难以渲染的 css3 内容。仍然在 4.1.1 或 4.0.4 上运行糟糕。

我也升级到最新版本的 Cordova(现在是 2.2.0),但似乎并没有变得更好。

当应用程序启动时,Javascript DOM 操作发生了大约 80-90%。

最差的表现是切换面板和滚动表单,其中大部分都有一些过渡。我在 Samsung Galaxy S2 android 2.3.5 上对其进行了测试,它看起来不错,性能也不错。相同的设备,但 4.0.4 运行糟糕。Samsung Galaxy S3 4.1.1 运行起来更糟糕。配备 Android 3.2.1 的 HTC Flyer P512 以应有的方式运行它。

有人可以帮我吗?我如何提高这种性能?有什么我没有提到的提示或技巧吗?

我想补充一点,我没有在 Iphone 3gs 和更高版本上遇到问题,我可以解释这绝对是 Android 问题。

最佳答案

我的 phonegap 应用程序在 iOS 上运行流畅,但在 Android 上表现极差。据我了解,这只是因为 Android 在解释 JavaScript 方面比 iOS 慢得多。

有一个非常有用的方法是减少 jQuery 和 JQM 等库的使用。如果您想包括它们,请不要在不必要的地方使用它们。

jQuery.animate 等函数在 Android 上运行速度非常慢,您最好使用原始 JS 遍历数组,而不是使用 jQuery.each 等。

问题不仅在于图形渲染,还在于 JavaScript 的执行速度。尽管降低屏幕分辨率可以提高性能。

编辑

我正试图自己弄清楚这个问题,我能得到的唯一答案是将计算操作保持在最低限度。

  • 尽量少使用库,并尽可能使用原始且编写良好的 JavaScript 解决问题
  • 保持一个小的 DOM 并尽可能少地操作它
  • 利用 JavaScript 性能增强技术

所以看起来这确实是一个核心性能问题,而不是可以在 Phonegap 层上解决的问题。作为一个非科学的例子,我的一个应用程序中完全相同的 init() 函数在 iPhone 4s 上的平均执行时间约为 1.2 秒,而在我的三星 Galaxy s3 上执行速度很慢,只需要 5 秒。

关于javascript - Android 性能在高于 2.3.5 (phonegap/cordova) 的更高版本上受到影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13308888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com