我的代码:
class HttpRequestTask(private val debtWsUrl : URI, debtorText : TextView) :
AsyncTask<Void, Void, Iterable<Debtor>?>() {
val debtorText: TextView = debtorText
}
Run Code Online (Sandbox Code Playgroud)
为什么使用TextView显示警告:
该字段泄漏上下文对象
?
我怎么能阻止这个?
Sub*_*sed 20
val textRef: WeakReference<TextView> = WeakReference(debtorText)
Run Code Online (Sandbox Code Playgroud)
Ema*_*l S 13
您将视图分配给HttpRequestTask.由于View需要上下文,因此您正在泄露它.
试想一下如果View被破坏但Http任务尚未完成会发生什么.
这就是为什么你应该避免在方法中分配Context相关的东西,这些方法可能会在视图已被杀死时返回某些内容.
删除debtorText并返回值以在视图中设置它.
归档时间: |
|
查看次数: |
11199 次 |
最近记录: |