1

所以我一直在做一大堆阅读,我意识到旧AsyncTask的 android 要求我们将它链接到 Activity 的实例;然而,在方向改变时,这会破坏这个特定的活动,并重新创建它导致内存泄漏。第一个AsyncTask是指活动的第一个实现,而正在显示的是第二个。3.0 及更高版本的Loader类负责了大部分工作,但我对初始化应用程序时如何加载数据库感到困惑。

目前我正在使用 AsyncTask,但我意识到如果有人在加载过程中改变方向,我们就会得到内存泄漏。如何使用 Loader 执行此操作?我正在更新显示(以防止超时并让用户知道发生了什么),完成后,我关闭警报。

我将如何使用 Loaders 进行此加载?

谢谢!乔恩

4

2 回答 2

0

乔恩,

我实际上不确定您所说的 Asynctask 需要一个活动实例是什么意思?我一直在使用 AsyncTasks,而从未传递对活动的引用。那是你需要做的事情吗?您可以使用应用程序上下文来避免活动泄漏吗?

于 2012-09-14T16:58:02.023 回答
0

您可以发布您的代码以使其更清晰。有很多方法可以解决您的问题。OnProgressUpdate 在 UI 线程上调用,因此您可以简单地通过处理程序甚至意图向活动发送消息,以确保 AsyncTask 仅处理应用程序上下文而不是活动上下文。再次,请发布一些代码。

于 2012-09-14T21:32:51.987 回答