所以我一直在做一大堆阅读,我意识到android的旧AsyncTask
要求我们将它链接到活动的一个实例;但是,在方向更改时,这会破坏此特定活动,并重新创建它,从而导致内存泄漏。第一个AsyncTask
指的是活动的第一个实现,而它是第二个正在显示的实现。 3.0 {及更高版本的Loader
类处理了大部分内容,但是在初始化应用程序时,我对如何进行数据库加载感到困惑。
目前我正在使用AsyncTask,但我意识到如果有人在加载过程中进行了方向更改,我们会收到内存泄漏。如何使用Loader执行此操作?我正在更新一个显示器(以防止超时,让用户知道发生了什么),一旦完成,我关闭警报。
如何使用Loaders进行此加载?
谢谢! 乔恩
答案 0 :(得分:0)
乔,
我实际上不确定你的意思Asynctask需要一个活动的实例?我一直使用AsyncTasks而没有传递对活动的引用。那是你需要做的吗?您是否可以使用应用程序上下文来避免活动泄漏?
答案 1 :(得分:0)
您可以发布代码以使其更清晰。有很多方法可以解决您的问题。在UI线程上调用OnProgressUpdate,因此您只需通过处理程序或甚至意图向活动发送消息,以确保AsyncTask仅处理应用程序上下文而非活动上下文。再次,请发布一些代码。