首页 > 解决方案 > 将取决于上下文的变量传递给 AsyncTask 是否安全

问题描述

我有onCreate()这样创建的变量:
DataClient dataClient = Wearable.getDataClient(this)

然后我将此变量传递给构造函数中的静态 AsyncTask。我在doInBackground(). 据我了解 -这是一个泄漏(在异步任务中使用依赖于上下文的变量会阻止 GC 清理活动,直到任务完成)。

可能的解决方案是对dataClient.
弱引用的问题是我听说你不能取消引用它doInBackground(),只能在onPostExecute(),但我需要它doInBackground()

我能做些什么?

标签: androidasynchronousweak-references

解决方案


推荐阅读