1

我目前正在使用 HTML5 和 JS 构建一个 android 应用程序,并使用一个以 JSON 格式返回数据的 API。使用一系列 PHP 脚本将这些数据放在一起。

该应用程序使用各种不同的数据集,例如ClassesClassmates。进行单个 API 调用并以单个 JSON 结构返回所有这些数据集会更快/更好,还是仅在用户想要查看它们时进行不同的 API 调用是一个更好的主意?

我知道远程调用越少越好,但这会影响应用程序的性能吗?

4

2 回答 2

1

您的问题的最短答案是肯定的,它会对性能产生负面影响。特别是如果您同步提出请求。

一般来说,能够使用 API 返回元素集合以及元素的单个实例是完全有意义的。这是 REST API 中的常见做法。例如apiUrl/users/,代表一个用户列表,其中apiUrl/users/1代表一个 id = 1 的用户。确保在尽可能少的 API 调用中只提取所需的数据。

为了提高效率,请异步发出请求。

更新:我意识到您可能希望将两种不同的数据类型混合在一起(ClassesClassmates),因此为了将来参考,我将添加一些有关 API 设计的信息。让您的apiUrl/Classes/1url 返回有关该课程的详细信息Class以及Classmates当前注册该课程的对象数组。这通常是一种很好的做法,因为它不需要为每个单独的同学进行一次 API 调用,或者单独调用来接收Classmatesfor one的列表Class

如果您真的想增加灵活性,请添加一些参数来告诉 API 您希望将Classmates列表包含在您的请求中。一个非常基本的实现可能如下所示:apiUrl/Classes/1?classMates=y

于 2013-04-26T22:44:12.963 回答
1

根据需求拉取数据。如果用户在屏幕上查看某个班级的所有同学,那么提取他们甚至不会使用的额外数据将是缓慢且不必要的。

还可以从屏幕之间的先前 API 调用中保存哪些数据。

于 2013-04-26T22:32:39.747 回答