我目前正在测试工作灯,我注意到与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
非常感谢你的帮助。
答案 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。