服务与线程
本文关键字:线程 服务 | 更新日期: 2023-09-27 18:08:30
我应该使用什么来使应用程序:
- 要求用户输入用户名和密码
- 授权
- 运行一个无限循环,它将每10秒左右从网站获取一些数据。
我希望能够在此期间做一些基本的任务,或者锁定我的屏幕而不会线程被杀死。我不希望服务在我关闭应用程序后继续运行,我只是想确保线程在长时间运行时不会被杀死。
我还想问:服务和线程一样容易交互吗?我可以在其中传递一个CancellationToken
并在用户按下停止按钮时取消它吗?
我也找到了setThreadPriority
,这对我的情况有帮助吗?
服务和线程是完全不同的概念。线程是并行执行的单独进程。服务是应用程序的一个组件,它没有UI,并以独立的生命周期运行。服务不会在自己的线程上运行,它运行在UI线程上(尽管如果它愿意,它可以启动一个线程)。
你使用一个服务,如果你想做一些任务,但不绑定到Android活动的生命周期。如果你想并行运行,你可以使用线程。如果你两者都想要,那么你可以使用一个启动线程的Service。
从我读到的(你不希望线程在Activity完成后继续),你想要一个线程,而不是一个服务。
服务可以独立运行(而你的应用不一定在运行)。一个线程既可以从你的应用程序本身剥离,也可以从一个服务剥离。