我有以下困境,我有一个Android应用程序,它使用HTTP Client通过php将请求发布到mysql数据库中,我正在使用JSON来提取响应。
这是该场景的粗略视图,
我有一个使用响应填充的 ArrayList,我们称之为主菜单单击主菜单中的项目后,我将发送一个 POST 请求并等待服务器的响应,
所以这是我的问题,哪一个更可取且更可靠,
-
运行应用程序/活动后,我会下载所有内容并隐藏不相关的项目,根据要求启用/禁用它们,例如。我只是显示菜单的第一个相关项目,或者
-
仅在请求时向服务器请求所选菜单项的信息详细信息?比如,只需下载主菜单,以及主菜单 id 1 的默认项
是否有其他可用的方法,每种方法的优缺点是什么,哪种方法可靠且更有效?
取决于列表的长度,但需要考虑一些事项...
- 在
用户获得响应之前,检索和填充菜单需要多长时间?
延迟是移动(3G,2G等)的杀手锏,因此一个较大的请求可能比多个较小的请求更快。
多个较小的请求将消耗更多的电池电量,因为手机将不得不将收音机从睡眠状态唤醒,这比唤醒一个请求消耗更多的电量和更大的响应。(最近对此发表了一些很好的研究)