我会说这些建议中的大部分都是......相当平均的。除了使用压缩。绝对在您使用的 Web 服务器上启用压缩。您绝对不希望保持连接打开或拥有多个连接。移动设备最大的问题是延迟,而不是带宽,因此使用多个连接无济于事,但会很快耗尽电池电量。至于保持连接打开,甚至不要考虑这样做。这是移动开发的最大假设之一 - 仅在需要时保持连接打开。
移动瘦客户端的经验法则是在绝对必要时下载尽可能少的数据。以下是一些提示:
- 不要随数据发送太多元数据。如果是 JSON,请考虑更改结构,以免发送每条记录的字段名称。以下面的 JSON 为例:
{
success: true,
data:[
{ProductName: "Coca-Cola can", Weight: 380, imageUrl: "http://path.to/image.png"},
{ProductName: "Gillete deodarant", Weight: 500, imageUrl: "http://path.to/image.png"}
]
}
正如您所见,有很多重复的字段名称,您可以像这样去掉那些以减少有效负载:
{
success: true,
fields: {"ProductName": 0, "Weight" : 1, "imageUrl": 2}
data:[
["Coca-Cola can", 380, "http://path.to/image.png"],
["Gillete deodarant", 500, "http://path.to/image.png"]
]
}
减少每次发送的数据量。不要一次为 10 个屏幕发送足够的数据。提供两三个屏幕,并使用无限滚动或某种分页。
调查 HTTP 缓存。确保设置了缓存标头,并确保您使用的 Web 客户端尊重这些标头。
积极缓存。查看任何适用于 iPhone/Android 的 Twitter 客户端。他们不会在每次启动时下载全部可见的推文,而是存储在本地。