针对慢速网络连接优化Android应用

时间:2016-07-01 09:13:15

标签: android performance

我目前正在开发一款Android应用程序,而且它已经投入生产。我注意到我的用户中有近四分之一使用慢速网络连接。所以我已经开始使用这个项目来优化我的app以进行慢速网络连接。

以下是我脑海中的变化::

1)减少来自后端的有效负载大小(如果检测到慢速网络),只需包含必需的详细信息。

2)对于某些参数的响应相同的请求,我将它们存储一段时间。

3)为一段时间内没有变化的图像和内容添加缓存。

4)在sql DB中存储列表内容,这些内容会随着时间的推移而缓慢变化,只能获取随时间累积的差异部分。

现在我想知道:

1)根据您的经验,请为我提供更多可以处理慢速网络连接的事项。

2)什么时候应该将应用程序切换到轻模式(用于处理慢速连接)?是用户启动应用程序时还是在使用应用程序时,我会保持监听器的网速?

2 个答案:

答案 0 :(得分:2)

不确定应用程序提供的功能,因为不同应用程序的建议可能不同。但是,您可能还需要考虑以下内容。

  • 优化连接超时并相应地重试。最好是在更快的网络上进行短暂超时和多次重试,以及在较慢的网络上进行更长的超时和更少的重试。
  • 如果您要存储快速网络不需要的数据,那么您是否已经处理了离线存储数据的安全风险(加密,删除数据,手机内存等等)。
  • 如果您使用的是SQL DB,请确保在需要更新大量记录时使用批量插入和事务性查询。
  • 使用您自己的网络队列在在线/离线模式之间切换,而不是连续监听网络速度。如果您的请求队列越来越高,或者在最后一分钟内有更多超时。
  • 有些网络速度很快,但只有很长的延迟时间。你需要相应地处理这种情况。

答案 1 :(得分:1)

完全在我的应用中,我这样做是为了克服网络速度。

  1. 优化服务器的图像大小。在网格视图中显示高质量图像并不好(我建议您为gridView或其他等准备小图像尺寸而不是实际尺寸的图像)。
  2. 暂时根据用户提供的参数为图像/内容响应添加兑现。
  3. 处理请求队列和连接超时。
  4. 希望这会对你有所帮助:)。