×
Namespaces

Variants
Actions

如何提高Nokia Asha web apps性能

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
max.chen 在 29 May 2011 创建
最后由 hamishwillee 在 09 May 2013 编辑

影响Series 40 web app性能的重要因素有以下几点:

  • 手机处理器的速度
  • 手机的存储
  • 手机客户端和服务器之间的通信

Ovi浏览器客户端和服务器端之间的一次通信是这样的:首先,客户端向服务器发送一个请求,客户端开始等待;服务器收到请求后,开始处理请求,构建相应数据并将其返回给客户端。诺基亚通过多种手段对上述过程进行的优化,例如,优化HTML,页面刷新是只发送更改的部分,压缩图片等等,但是一次这样优化后的通信仍然需要几秒钟的时间。因此,尽量避免不必要的通信可以大大提高Series 40 web app的速度。

同其他移动浏览器的页面设计一样,那些好的设计原则同样适用于Series 40 web app。下面列出几点可以提供web app性能的建议:

  • 使用简单的页面设计——减少图片的使用,可以提供页面的加载时间和内存的使用。
  • 减少内存的使用——内存对于Series 40手机来说是十分有限的。例如,如果一个应用包含了若干个标签页,每个标签页显示不同的内容,这种情况应当只下载当前标签页的内容而不是一次将每个标签页的内容都下载下来。当用户选择了另一个标签页的时候,再去下载相应的内容。当然,这样的话会使用户每次选择新的标签页的时候都需要等待,因此需要很好的平衡内存和速度。
  • 减少图片的使用——一个最简单的例子就是,使用CSS的背景色的属性来代替一个使用单色的背景图片。另外一个例子,为了使应用看起来更漂亮一些,在我们使用边框的时候可能会想到使用带阴影的边框,而不仅仅是简单的线条。但是Ovi浏览器并没有这样内置的CSS属性,解决的办法就是使用图片,但是图片的使用会增加内存使用和下载的时间,因此这时我们就需要牺牲一些效果来提升应用的性能。
  • 减少运算——以上几点都着重于内存的使用,但是对于Series 40 web app来说运算的负载也同样重要。假设我们需要一个50个像素宽的按钮,按钮的颜色从上到下是渐变的颜色。为了实现这样的背景,我们可以下载一个很窄的图片,然后重复拷贝这个小图片最后达到50像素宽。为了减少内存的使用和提高下载速度,我们可以将小图片减小到1个像素宽,但是如果这样的话,处理器就需要重复50次的复制图片的运算才能达到目的。换个思路,如何我们将小图片改为10个像素宽,那么处理器的运算就少多了。最终的方案还是要根据实际测试的结果来选择。

Webapptipscn1.png


  • 合理使用MWL库——在 Series 40 web apps平台介绍 一文中我们提到了Series 40 web app大部分的运算工作是在Ovi浏览器的云服务器上完成的,其中包括与应用服务器的交互,JavaScript的解释以及对HTML,CSS的优化,从而大大的降低了流量同时使得它们更适合在Series40手机上显示。

MWL introduction 1.png

在Ovi浏览器客户端上也并不是完全舍弃的JavaScript,仍然有一个叫做MWL (Mobile Web Library)的JavaScript可供开发者使用,它是唯一运行在Ovi浏览器客户端上的JavaScript。 JavaScript运行在服务器端带来了很多好处,但同时如果使用不当也会带来问题。例如我们用timer实现了一个动画效果,如果用JavaScript的话,那么每一帧都会导致客户端和服务器端的一次通信,其结果可想而知。这种情况下就应该是一WML库中timer,由于WML库是运行Ovi客户端,所以就不会导致额外的通信。


相关链接

This page was last modified on 9 May 2013, at 13:46.
424 page views in the last 30 days.
×