android - 将取决于上下文的变量传递给 AsyncTask 是否安全
问题描述
我有onCreate()
这样创建的变量:
DataClient dataClient = Wearable.getDataClient(this)
然后我将此变量传递给构造函数中的静态 AsyncTask。我在doInBackground()
. 据我了解 -这是一个泄漏(在异步任务中使用依赖于上下文的变量会阻止 GC 清理活动,直到任务完成)。
可能的解决方案是对dataClient
.
弱引用的问题是我听说你不能取消引用它doInBackground()
,只能在onPostExecute()
,但我需要它doInBackground()
。
我能做些什么?
解决方案
推荐阅读
- php - 如何将排序值数组拆分为最大和 X 的 N 个数组?
- c++ - boost asio示例中的多线程问题
- snowflake-cloud-data-platform - 聚类如何帮助 Snowflake 中的查询修剪?
- python-3.x - 使用 sklearn 的逻辑回归时的值错误
- javascript - 嵌入的欢迎消息未显示
- javascript - JavaScript Promises:无法理解 Resolve 何时在范围内
- xslt - 我们可以在 .xsl 文件中编码 URL 吗?
- javascript - 我正在从 Firebase 检索数据并将其存储在一个对象中,但是当我尝试将其记录到控制台时,它显示未定义......为什么?
- vba - 获取音频文件长度(时间)的函数
- python - 无法在 Python 中使用 selenium 和代理访问网站