首页 > 解决方案 > 完成一个活动是否会破坏从该活动创建的线程?

问题描述

我开发了一个 android 应用程序,它在第一次启动时将一些数据库从应用程序复制到设备的内部存储中。由于完成任务需要几秒钟,我决定在后台线程上运行它。当主要活动打开时,线程开始并继续它的工作。我的问题是:如果用户在后台任务完成之前关闭活动,后台线程还会运行吗?或者线程也会被杀死?

标签: javaandroidmultithreadingandroid-activity

解决方案


Android 中的线程在 Android 中,您可以将所有线程组件分为两个基本类别:

附加到活动/片段的线程: 这些线程与活动/片段的生命周期相关联,并在活动/片段被销毁时终止。
未附加到任何活动/片段的线程: 这些线程可以在生成它们的活动/片段(如果有)的生命周期之后继续运行。

因此,就您的问题而言,从活动创建的所有线程在Activity完成时也会被销毁。希望这能回答你的问题!
有关更多信息,请参阅此链接。我认为您应该选择您的情况,JobIntentService因为它能够在完成工作后自动停止。


推荐阅读