worklight在android上表现不佳

时间:2013-02-12 14:47:50

标签: android ibm-mobilefirst

我目前正在测试工作灯,我注意到与iOs相比,Android设备上的性能大幅下降。 (在asus nexus 7和iphone 4上测试)

第一点是:在一个简单的jquery移动页面转换过程中,一个简单的html页面抖动。 没有服务器呼叫。

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

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

之后,我在移动浏览器模拟器中分析了工作灯生成的代码,看来有很多wlclient javascript文件,从我的角度来看,这不是一个实现网页的好方法,还有更多移动的。

有没有办法将所有这些文件编译成一个,以避免多次向服务器发出http请求?

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

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

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

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:3)

  

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

您可以选择不使用jQuery Mobile并自行实现动画或使用其他UI框架。您也可以尝试creating custom CSS-based transitions用于jQuery Mobile。

  

我删除了worklight图层并托管了我的简单html / jquery手机   apache web服务器上的页面,并从我的设备的chrome中调用它   浏览器

Worklight的文件不在任何服务器上托管,它们是您在设备上安装的.apk的一部分。 Web View中的性能与其他浏览器(如Google Chrome)的性能不同。您可以通过查看other people are doing

来尝试改进它
  

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

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

  

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

不,如果您阅读我对上述问题的回复,您可以手动执行此操作。

  

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

不,Worklight使用Apache Cordova并使用Android API提供的Web View。