android 什么时候用thread 什么时候用service,怎么判断一个程序完全退出,不是一个activity
展开全部
首先,Google有android开发文档,里面对各个控件有详细的说明。我估计你也没有仔细看。不过,你还是应该看看,有可能我接下来说的你还是不太理解。
thread是线程的意思,不论是android,还是别的平台,都会有这个概念,这是很基础的东西。当你想要做一个耗时的操作,为了不堵塞UI线程,你可能需要开启一个线程来进行这个操作。比如进行网络IO。
service是android独有的一个概念,意思是一个后台运行的服务。当然了,你也可以用它来做个耗时的操作,比如下载一个文件,这也可以用线程来做,不同的是线程更轻量级,消耗的资源也少,用service来做,消耗的资源多,显得有点大题小做。所以,大多数情况下,service是当做一个服务来用,最典型的例子就是后台播放音乐,当你退出一个activity,音乐还是在播放,那是因为service还在后台运行着。
至于最后一个问题,我感觉那是无解的:程序都完全退出了,程序里的任何代码都不会被执行到,你说的判断是没有任何意义的。
thread是线程的意思,不论是android,还是别的平台,都会有这个概念,这是很基础的东西。当你想要做一个耗时的操作,为了不堵塞UI线程,你可能需要开启一个线程来进行这个操作。比如进行网络IO。
service是android独有的一个概念,意思是一个后台运行的服务。当然了,你也可以用它来做个耗时的操作,比如下载一个文件,这也可以用线程来做,不同的是线程更轻量级,消耗的资源也少,用service来做,消耗的资源多,显得有点大题小做。所以,大多数情况下,service是当做一个服务来用,最典型的例子就是后台播放音乐,当你退出一个activity,音乐还是在播放,那是因为service还在后台运行着。
至于最后一个问题,我感觉那是无解的:程序都完全退出了,程序里的任何代码都不会被执行到,你说的判断是没有任何意义的。
更多追问追答
追问
但是用thread时,如果没有手动结束线程,就算成句完全退出,线程还是会一直执行,就会变成幽灵线程
追答
那就是你的设计问题。java的线程有两种,用户线程和守护线程。当所有的用户线程结束时,守护线程会强行被结束。你可以把那个线程设置为守护线程。具体方法你自己上网查,我也好久没写java了。或者你也可以把你的具体需求说来,我来帮你看看。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询