我使用AsyncTask.execute(Runnable run)
用于需要在遗留项目上执行非UI线程的简短语句。但众所周知,AsyncTasks不应该作为匿名,本地和内部类声明保存,以避免内存泄漏。
信任这种方法有多安全?我更喜欢用它来简短陈述,但当我意识到我将其作为匿名引用时,我担心泄漏的可能性。 Lint并没有像处理基于AsyncTasks类的构建那样警告它。
答案 0 :(得分:2)
AsyncTasks很好,只要它们在相对较短的时间内终止。人们说要避免它们的原因是任何线程,AsyncTask与否,将保持对其父级的引用以及它作为类变量所拥有的任何变量。当线程完成执行时,该引用就消失了。因此,只要任务或线程在合理的时间内运行,就不用担心了。