我将AsyncTask.execute(Runnable run)用于要求在旧项目上执行非UI线程的简短语句。但是众所周知,AsyncTasks不应保留为匿名,本地和内部类声明,以避免内存泄漏。

信任这种方法有多安全?我更喜欢在简短的陈述中使用它,但是当我意识到我将其称为匿名时,我担心泄漏的可能性。 Lint不会像处理基于AsyncTasks的类构造时那样警告它。

最佳答案

AsyncTasks很好,只要它们在较短的时间内终止即可。人们说要避免使用它们的原因是,无论是否有AsyncTask,任何线程都将保留对其父级及其作为类变量保存的任何变量的引用。当线程完成执行时,该引用将消失。因此,只要任务或线程在合理的时间内运行,就不必担心。

关于android - AsyncTask.execute()安全,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50762384/

10-12 03:13