在一个Activity中请求多个RESTful调用的最佳方法是什么

时间:2011-04-04 02:41:22

标签: android performance

我有一个有多个微调器的活动。需要从我通过RESTful服务从Web检索的数据中填充两个微调器值/数据。数据采用JSON格式,非常基本。

我考虑过使用AsyncTask并在doInBackground中进行两次Web服务调用,这些调用将填充两个不同的HashMaps,但我不确定这是设计性能的最佳方法。

还有另一种方法可以解决这种情况吗?也许有一个服务在应用程序启动时获取数据并在本地缓存它?

您的建议将不胜感激。

3 个答案:

答案 0 :(得分:4)

您可能希望使用两个不同的AsyncTask实例,以便请求并行运行。

如果您的数据应该保留,您可以考虑将其保存到sqlite数据库或将json String存储在SharedPreferences中。使用Service听起来也很好。

答案 1 :(得分:0)

此外,如果您只想在当前正在运行的程序的持续时间内在本地缓存它(并且不需要担心在程序关闭时将其保留),您可以创建一个简单的全局单例缓存,允许同步访问你的数据。

就实际获取数据本身而言,AsyncTask可能是最好的方式(如果它尚未缓存)。在doInBackground()方法中执行提取,并使用onPostExecute()方法进行解析/存储。

答案 2 :(得分:0)