HTTP Android Response Practices


HTTP Android Response Practices

我有以下困境,我有一个Android应用程序,它使用HTTP Client通过php将请求发布到mysql数据库中,我正在使用JSON来提取响应。

这是该场景的粗略视图,

我有一个使用响应填充的 ArrayList,我们称之为主菜单单击主菜单中的项目后,我将发送一个 POST 请求并等待服务器的响应,

所以这是我的问题,哪一个更可取且更可靠,

  1. 运行应用程序/活动后,我会下载所有内容并隐藏不相关的项目,根据要求启用/禁用它们,例如。我只是显示菜单的第一个相关项目,或者

  2. 仅在请求时向服务器请求所选菜单项的信息详细信息?比如,只需下载主菜单,以及主菜单 id 1 的默认项

是否有其他可用的方法,每种方法的优缺点是什么,哪种方法可靠且更有效?

取决于列表的长度,但需要考虑一些事项...

  1. 用户获得响应之前,检索和填充菜单需要多长时间?

  2. 延迟是移动(3G,2G等)的杀手锏,因此一个较大的请求可能比多个较小的请求更快。

  3. 多个较小的请求将消耗更多的电池电量,
  4. 因为手机将不得不将收音机从睡眠状态唤醒,这比唤醒一个请求消耗更多的电量和更大的响应。(最近对此发表了一些很好的研究)