您的位置:首页 > 移动开发 > Android开发

Android中直接开线程与使用服务开线程的区别

2013-03-13 10:37 204 查看
Android中直接开线程与使用服务(Service)开线程两种办法都可以执行长时间任务,它们的区别是什么呢?什么时候使用直接开线程,又什么时候启动服务后,再服务中开线程呢?

一个service是一个在用户不与你的应用交互时依然可以运行于后台的简单组件.所以,只有你需要这样做时才创建一个service.如果你需要执行的工作不在主线程中,但是只有用户在与你的应用交互时才进行,那么你可能应该创建一个新的线程而不是一个service.例如,如果你想播放一些音乐,但是只在你的activity运行时才播放,你应该在onCreate()中创建一个线程,在onStart()运行这个线程,然后在onStop()中停止它.也可以考虑使用AsyncTask或HandlerThread,来代替传统的线程类.

举例:

项目1)点按钮开服务,服务中开线程播放map3

项目2)点按钮开线程播放mp3

项目3)能通过开辟项目1中的服务播放mp3(服务可以被其它项目直接启动)

项目3)不能通过开辟项目2中的线程播放mp3(线程不能被其它项目直接启动)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息