我应该使用什么来制作一个应用程序:
我希望能够在此期间执行一些基本任务,或者在没有线程被杀的情况下锁定我的屏幕。关闭应用程序后,我不希望服务继续运行,我只是想确保线程在运行很长时间后永远不会被杀死。
我还想问:服务是否像线程一样容易互动?我可以在其中传递CancellationToken
并在用户按下停止按钮时将其取消吗?
我也找到setThreadPriority
,在我的情况下会有帮助吗?
答案 0 :(得分:2)
服务和线程是完全不同的概念。线程是一个并行执行的独立进程。服务是应用程序的一个组件,它没有UI并且具有单独的生命周期。服务不在自己的线程上运行,它在UI线程上运行(尽管它可以根据需要启动一个线程)。
如果您想执行某项任务但未绑定到Android Activity生命周期,则可以使用服务。如果要并行运行,请使用Thread。如果你想要两者,那么你使用一个启动线程的服务。
从我正在阅读的内容(你不希望Thread在Activity完成后继续),你想要一个线程而不是一个服务。
答案 1 :(得分:0)
服务可以独立运行(而您的应用程序不一定正在运行)。可以从您的应用程序本身或服务中分离出一个帖子。