iphone - 如何对 jQuery Mobile iOS/Android Web 应用程序进行性能调优

标签 iphone android debugging web-applications mobile

我一直在使用 JQM 开发一个针对 iOS 和 Android 设备的网络应用程序。对于开发开始的大部分时间,我在桌面上使用 Chrome(当前为 v13)进行开发和测试。随着产品发布截止日期的临近,我增加了对物理 iOS 和 Android 硬件的测试;桌面和移动浏览体验之间的性能差异是巨大的。

客户端/服务器交互非常简单。客户端请求一组 View ,服务器返回这些 View 。然后客户端可以请求与特定 View 关联的节点集,服务器将在单个有效负载中返回这些节点。然后客户端从相应的 XML 为每个节点生成 DOM。

我已经开始使用 400kb 或大于 400kb 的 XML 负载进行测试。在桌面上,在 Chrome 中,这不是问题。在移动设备上,在 Mobile Safari 中,仅我的 DOM 加载时间就可能接近 12 秒。与 DOM 的交互(触发对 XML 的更新,缓存在 localStorage 中)每次点击最多可能需要 5 秒

虽然我可以想出六种不同的方法来优化我的客户端/服务器通信——但我无法弄清楚如何衡量来自移动客户端的各个方法调用的开销。我知道 400k 的负载对于 iOS Mobile Safari 来说太多了,但我不知道我产生的性能成本是来自遍历 DOM 还是操作 XML。

如何从移动客户端的角度对我的移动网络应用程序进行指标分析?对桌面进行性能调整对我没有任何帮助,而且我在移动端没有等效的开发者控制台/FireBug。

其他移动开发者如何解决这个问题?

最佳答案

我决定添加一个简单的开始/停止记录按钮,它调用一个记录函数,该函数将方法计时数据存储在 sessionStorage 中。在停止记录时,我将其发送到 Web 服务以通过桌面浏览器进行分析。

编辑:我确实根据 this SO post 尝试了 JsLitmus | ,但我得出的结论是,在移动设备上真正重要的唯一性能测试是执行任何特定功能的时间。一旦我将这些信息从客户端导出,性能调整就变得微不足道了。

关于iphone - 如何对 jQuery Mobile iOS/Android Web 应用程序进行性能调优,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6380627/

相关文章:

java - 如何在 Android 上编辑谷歌日历事件?

java - 使用okhttp上传多个图片文件 v3.2.0

debugging - nunit调试为64位,应用程序为32位

iphone - 在 iOS 应用程序中向下滚动时自动加载数据

iphone - 翻转过渡在横向模式下从顶部翻转 View

iphone - 如何在 iPhone 应用程序中每天在特定时间调用方法?

android - Android 2.2 中的 org.apache.http.client 是什么版本?如何在应用程序中使用 lib?

ruby-on-rails - cloud9 ide 是否有 ruby​​ on rails 服务器端调试器?

visual-studio - 如何避免Visual Studio调试器可视化程序超时?

iphone - 无法为目标进程配置泄漏工具