Android 在列表视图中加载每个项目的所有数据还是仅加载所需信息?
在我的android应用程序中,我有一个列表视图和所选项目的详细视图。我使用改型从后端服务器检索项目Android 在列表视图中加载每个项目的所有数据还是仅加载所需信息?,android,list,load,Android,List,Load,在我的android应用程序中,我有一个列表视图和所选项目的详细视图。我使用改型从后端服务器检索项目 但最好先在列表视图中检索所需的信息,然后在详细信息视图中检索所选项目的所有数据。还是最好直接在列表中加载每个项目的所有数据,以便用户在选择项目时不必等待?这实际上取决于您使用的项目类型 走极端: 如果您有一个歌曲列表,则不希望在加载列表时加载整个歌曲数据。你只需要标题,作者,最终长度,当你点击它来显示细节时,你会在那时加载歌曲,或者加载列表需要很长时间,你将没有足够的内存 另一方面,如果您有简单
但最好先在列表视图中检索所需的信息,然后在详细信息视图中检索所选项目的所有数据。还是最好直接在列表中加载每个项目的所有数据,以便用户在选择项目时不必等待?这实际上取决于您使用的项目类型 走极端: 如果您有一个歌曲列表,则不希望在加载列表时加载整个歌曲数据。你只需要标题,作者,最终长度,当你点击它来显示细节时,你会在那时加载歌曲,或者加载列表需要很长时间,你将没有足够的内存 另一方面,如果您有简单的项目(例如书籍),在列表中显示标题,并且您需要的唯一信息是作者和编辑,那么您可以在一个请求中加载所有内容 <>要考虑的事情:
- 你的网速
- 与列表中显示的数据大小相比,项目的大小
- 列表的大小
从性能角度看,每个请求调用都有其开销(即网络负载),因此处理大请求比处理许多小请求更快。最好在第一时间检测所有信息并将其保存在POJO中。一个请求胜过两个请求。我建议一次加载所有请求。。当用户选择数据然后加载,并在显示之前检查是否加载时,与发出另一个请求相比,等待的时间稍长一些。谢谢您的回答。我问这个问题是因为我想知道服务器响应的大小是否不能影响请求时间。这里重要的条件是互联网速度。好的,谢谢,我会听从你的建议。是的,我理解。做出决定并不容易,因为即使现在的项目很简单,将来也不一定如此。数据库结构甚至Web服务都会受到影响。但首先,在我看来,最好、最简单的方法是加载所有数据。如果您的列表太大或项目太复杂,您将填满内存并面临性能问题,因此对于复杂的项目,您可能需要请求每个项目。您可以选择只加载列表所需的数据,从而减少对用户体验的干扰,获得良好的性能,并用您所获得的内容填充详细视图,其余内容将在进度条显示时异步出现,从而不会冻结您的用户界面