由于不建议在任务中保留对aContext的强引用(任务仍在运行时上下文可能会被破坏,但任务会将其保存在内存中),我想知道这是否同样适用于片段?
片段管理其活动引用,并支持通过setRetainInstance保留。我可以假设在片段中创建一个非静态的内部异步任务是安全的,不会有泄漏的风险吗?

最佳答案

在线程之间保留引用通常是不好的方法,而AsyncTask类似于线程。
没关系,只要你确定在使用完它后取消引用它。
否则,可能会出现内存泄漏。
在这种情况下,没关系,因为您的Fragment位于AsyncTask的上下文中。任务完成后,它将丢失该引用。
如果这是在Service中完成的,那将是一个非常糟糕的主意。

08-06 03:56