我正在开发一个完全基于从Web服务获取数据的应用程序。 在一项活动中,我必须调用近5 6种不同的Web服务,这些服务显示不同的信息。这个应用程序是目标v 2.3到4.x,因为主ui线程上不允许网络通信,所以我正在制作5 6个AsyncTask类,因为它的post执行有助于我进行大量的显示。
现在我很困惑这种方法是对还是错,制作5 6个AsyncTask类(不能减少Web服务的数量或调用一个AsyncTask因为我必须反复检查数据)。这是一个好方法还是应该改变我的模式,然后切换到什么方法。 使用这种方法,我的应用程序在所有设备上运行得非常顺畅。
答案 0 :(得分:0)
我认为每个ASyncTask类都是对Web服务的API请求,如果是这样,它是正确的方法。任何网络操作都应该在UI线程之外完成。
还有一种更好的方法可以使用ThreadPools来限制您希望一次保持活动状态的服务器请求数。
答案 1 :(得分:0)
我认为这是一个很好的模式。它非常适合面向对象的设计,每个人都执行它自己的任务。
如果您的网络通话都是直接相互跟踪的,那么您可以将它们组合成一个巨大的AsyncTask(如果您真的想要)。这肯定会减少你现在拥有的很好的封装,并且会让某些人更难以维护和调试线路。
听起来你已经拥有的东西已经很好了,如果它运作良好,为什么要修复那些没有破坏的东西。