首页 > 解决方案 > 我们是否必须在 ondestroy 方法中中断后台线程?

问题描述

我正在运行一个贯穿应用程序生命周期的后台线程。我们需要在 onDestroy 方法中中断这个线程吗?还是由android系统处理?如果我们不手动中断,会不会导致内存泄漏?

标签: android

解决方案


最好在活动消失时完成待处理的任务,因为基本上线程所做的任何事情都不会对用户产生影响,因为它不会修改 UI。

关于内存泄漏,android 应用程序在 linux 进程中运行,因此线程的上下文是应用程序,而不是活动,这就是为什么当活动消失时,您的线程将继续运行并且您可能会更新死亡对象。停止它以避免内存泄漏是一个很好的做法,因为您保留了对要更新的内容的引用(当然,除非您使用 a WeakReference)。


推荐阅读