【发布时间】:2011-11-25 09:03:49
【问题描述】:
我需要一些信息/帮助/建议如何构建我的应用程序,以便我可以使用所有活动中的一个 AsyncTask,这些活动将通过 Internet 下载一些数据。问题是,一旦我从一个活动运行异步任务,我想再次下载整个信息,但只更新我在该活动中显示的信息(如列表视图、显示图像等)。而且我不确定如何编码。
如果有人可以为我提供一些帮助/建议甚至是示例,那就太好了! 非常感谢!
【问题讨论】:
我需要一些信息/帮助/建议如何构建我的应用程序,以便我可以使用所有活动中的一个 AsyncTask,这些活动将通过 Internet 下载一些数据。问题是,一旦我从一个活动运行异步任务,我想再次下载整个信息,但只更新我在该活动中显示的信息(如列表视图、显示图像等)。而且我不确定如何编码。
如果有人可以为我提供一些帮助/建议甚至是示例,那就太好了! 非常感谢!
【问题讨论】:
我们使用 AsyncTask 最常见的方式是将其定义为 Activity 的内部类。通过这样做,我们将 AsyncTask 的生命周期绑定到它的 master - Activity,正如我们所知,Activity 的生命周期是非常短暂的,通常在应用程序运行期间被多次创建/销毁。所以……
我如何构建我的应用程序,以便我可以使用所有活动中的一个 AsyncTask,这些活动将通过互联网下载一些数据
在我看来,这里最合理的解决方案是Service,显然service的生命周期比Activity/AsyncTask更稳固。您可以实现在线程中下载数据的服务,使其在应用程序运行期间保持运行,并从服务更新当前前台活动的 UI 内容。在this SO question 中查看更多详细信息。
希望有所帮助。
【讨论】: