由于不建议在任务中保留对aContext
的强引用(任务仍在运行时上下文可能会被破坏,但任务会将其保存在内存中),我想知道这是否同样适用于片段?
片段管理其活动引用,并支持通过setRetainInstance
保留。我可以假设在片段中创建一个非静态的内部异步任务是安全的,不会有泄漏的风险吗?
最佳答案
在线程之间保留引用通常是不好的方法,而AsyncTask
类似于线程。
没关系,只要你确定在使用完它后取消引用它。
否则,可能会出现内存泄漏。
在这种情况下,没关系,因为您的Fragment
位于AsyncTask
的上下文中。任务完成后,它将丢失该引用。
如果这是在Service
中完成的,那将是一个非常糟糕的主意。