我有一个有多个微调器的活动。需要从我通过RESTful服务从Web检索的数据中填充两个微调器值/数据。数据采用JSON格式,非常基本。
我考虑过使用AsyncTask并在doInBackground中进行两次Web服务调用,这些调用将填充两个不同的HashMaps,但我不确定这是设计性能的最佳方法。
还有另一种方法可以解决这种情况吗?也许有一个服务在应用程序启动时获取数据并在本地缓存它?
您的建议将不胜感激。
答案 0 :(得分:4)
您可能希望使用两个不同的AsyncTask
实例,以便请求并行运行。
如果您的数据应该保留,您可以考虑将其保存到sqlite数据库或将json String
存储在SharedPreferences
中。使用Service
听起来也很好。
答案 1 :(得分:0)
此外,如果您只想在当前正在运行的程序的持续时间内在本地缓存它(并且不需要担心在程序关闭时将其保留),您可以创建一个简单的全局单例缓存,允许同步访问你的数据。
就实际获取数据本身而言,AsyncTask
可能是最好的方式(如果它尚未缓存)。在doInBackground()
方法中执行提取,并使用onPostExecute()
方法进行解析/存储。
答案 2 :(得分:0)