1

我目前正在测试 worklight,我注意到与 iOs 设备相比,android 设备的性能损失很大。(在华硕 nexus 7 与 iphone 4 上测试)

第一点是:一个简单的 html 页面在一个简单的 jquery 移动页面转换期间出现抖动。没有服务器调用。

我删除了 jQuery 移动转换,因为它使用了很多 javascript 而不是 css3 转换功能,但它仍然继续从一个页面倾斜到另一个页面。我的意思是在 2 页之间有 1/10 秒的“空白屏幕”并且下一页的呈现滞后。

为了分析这个问题,我删除了 worklight 层并将我的简单 html/jquery 移动页面托管在 apache Web 服务器上,并从我设备的 chrome 浏览器中调用它。即使有过渡,它也能完美流畅地工作。

之后,我在移动浏览器模拟器中分析了worklight生成的代码,看起来里面有很多wlclient javascript文件,从我的角度来看,这不是实现网页的好方法,更何况是移动的.

有没有办法将所有这些文件编译成一个以避免对服务器的多个 http 请求?

如果我们只需要一小部分,有没有办法避免加载所有客户端 api?我的意思是,如果我不需要加密缓存,为什么要加载相关的js?

有没有办法强制浏览器引擎在应用程序内部使用(chrome、opera、android native...)以测试每个引擎的性能?

Worklight 5.0.5.20121217-0622 Android 21.0.0.v201210310015-519525 Win 7 64 位 Eclipse 3.7.2

非常感谢你的帮助。

4

1 回答 1

3

删除了 jQuery 移动过渡,因为它使用大量 javascript 而不是 css3 过渡功能,但它仍然继续从一个页面倾斜到另一个页面。

您可以选择不使用 jQuery Mobile 并自行实现动画或使用其他 UI 框架。您还可以尝试为 jQuery Mobile创建基于 CSS 的自定义过渡

我删除了 worklight 层并将我的简单 html/jquery 移动页面托管在 apache Web 服务器上,并从我设备的 chrome 浏览器中调用它

Worklight 的文件不托管在任何服务器上,它们是您安装在设备上的 .apk 的一部分。Web 视图中的性能与其他浏览器(例如 Google Chrome)中的性能不同。您可以尝试通过查看其他人在做什么来改进它。

有没有办法将所有这些文件编译成一个以避免对服务器的多个 http 请求?

作为“全部构建并部署”步骤的一部分,没有办法做到这一点。您可以编辑为每个环境生成的本机文件夹的内容,并手动将内容放入单个文件中。但是,我不推荐这种方法,因为当您“全部构建并部署”时,这些更改将被覆盖。如果您想使用 Ant 最小化您的资源,请阅读本文,但我怀疑它会显着提高性能。

如果我们只需要一小部分,有没有办法避免加载所有客户端 api?我的意思是,如果我不需要加密缓存,为什么要加载相关的js?

不,如果您阅读了我对上述问题的回复,您可以手动完成。

有没有办法强制浏览器引擎在应用程序内部使用(chrome、opera、android native...)以测试每个引擎的性能?

不,您的 Worklight 使用 Apache Cordova 并使用 Android API 提供的 Web 视图。

于 2013-02-12T15:35:55.590 回答