【发布时间】:2012-10-30 17:22:01
【问题描述】:
我有一个为 iOS 和 Android 编写的移动应用程序,它使用一个 Web 服务来返回数据。此服务返回的数据大约每天更改一次或当用户更改位置时。我目前正在下载一条大消息(大约 700kb)并使用用户会话所需的所有数据填充应用程序。
问题在于初始消息需要大约 30 秒才能将所有数据处理到本地数据库 (sqlite) 表中。这导致我考虑下载较小的数据块并根据需要处理数据?这可能会导致应用内每次点击的等待时间较短。
基于性能的最佳方法是什么,进而转化为我上面解释的场景类型的最佳用户体验?
我见过其他类似的问题,但它们缺乏明确的答案。 请提供任何答案/意见,然后请投票,这样我们就可以平息这个论点!
【问题讨论】:
-
看来问题更多的是过程。似乎可以优化。移动设备上的一大网络问题是建立连接的时间很长。我认为最好一次执行更大的提取(使用重试和恢复机制(例如使用范围标头)
-
您使用什么格式传输数据?
-
查看 Android 培训 Transferring Data Without Draining the Battery。从硬件的角度来看,下载更少、更大的块而不是更多、更小的块通常更好(最小的总时间和功耗)。这样可以避免打开和关闭无线电。
-
至少在Android上,进行一次大传输也会减少手机必须唤醒的次数,从而降低功耗。
标签: android ios web-services mobile client-server