2

我正在开发一个完全基于从 Web 服务获取数据的应用程序。在一项活动中,我必须调用几乎 5 6 个显示不同信息的不同 Web 服务。这个应用程序的目标是 v 2.3 到 4.x,因为主 ui 线程上不允许网络通信,所以我正在制作 5 6 AsyncTask 类,因为它的后期执行对我的显示有很大帮助。

现在我很困惑这种方法是对是错,制作了 5 6 个 AsyncTask 类(不能减少 Web 服务的数量或调用一个 AsyncTask,因为我必须一次又一次地检查数据)。这是一个好方法还是我应该改变我的模式,然后切换到什么方法。使用这种方法,我的应用程序在所有设备上都运行良好且流畅。

4

2 回答 2

0

我会假设每个 ASyncTask 类都是对 web 服务的 API 请求,如果是这样,那么它是正确的方法。任何网络操作都应该在 UI 线程之外完成。

还有一种更好的方法是使用 ThreadPools 来限制您希望一次保持活动的服务器请求的数量。

于 2012-07-20T06:39:35.220 回答
0

我认为这是一个很好的模式。它非常适合面向对象的设计,并且每个都执行自己的任务。

如果你的 web 调用是一个接一个的,如果你真的想的话,你可以将它们组合成一个巨大的 AsyncTask。这肯定会减少您现在拥有的良好封装,并使某人更难以维护和调试。

听起来你拥有的东西已经很好了,如果它运行良好,为什么要修复没有损坏的东西。

于 2012-07-20T06:39:56.960 回答