0

这是一些特定于设计的问题,但我正在寻找正确的建议。

在我的应用程序中,我有 6 个页面 A、B、C ......每个页面都会从服务器下载数据并显示它。在这种情况下,在下面提到的方法中哪一种会好。

1.为每个 A、B、C 编写内部 asynctask 类 2.为这些活动中的每一个编写单独的 asynctask,如 asyntaskA、asyntskB 等 3.编写单个 asynctask 并通过 requestcontroller 类路由每个活动的请求,该类通过创建 asyctask 的实例传递上下文,url参数

如果采用第二种方法,是否有可能在其仍在运行的同时在状态下运行一个Activity又一个?Activityonpauseasynctask

4

2 回答 2

1

在每个页面中,如果您正在执行相同类型的操作(如本例中,下载数据并显示它),则无需编写单独的AsyncTask类。只需根据需要创建尽可能多的实例并调用该execute()方法。AsyncTask类将以线程安全的方式处理这个问题。

您问题的第二部分有点不清楚,但如果您的意思是在活动之间切换,则可以使用单个AsyncTask. 您需要保存和恢复活动状态。

如果您执行的操作很耗时,比如说几秒钟以上,那么使用AsyncTask. 更好的选择是Service.

于 2012-09-18T18:46:31.473 回答
0

多个 AsyncTask 没有问题。在我的一个应用程序中,我有一个带有图像的网格视图,并且每个图像加载和生成缩略图图像都有一个 AsyncTask。它们都很好地并行运行。

于 2012-09-18T18:36:29.023 回答