Service其实service这个类是最好理解,多线程后台运行就靠的它(悲剧的iphone哦…),比如你想上网的时候后台还播放music,那后台的music就是通过service来运行的。以上是网上看到的,似乎不太明白service跟线程有什么关系自己做个例子,activity里调用线程类,用handler来取线程执行的数据。 那么service什么时候跟线程能关联上呢?? 一般启动service就是startservice和bindService呗哪位大侠给讲讲
解决方案 »
- 无法监听KeyEvent.KEYCODE_POWER和KeyEvent.KEYCODE_HOME
- 不知怎么回事,不能运行?
- 图片加载and popupwindow的问题
- 急:在android下如何实现,在程序不操作一段时间,执行另一个程序
- URI匹配问题
- Android的机制中,是不是所有notification tone都使用同一个profile,不区分message, Email等类型
- 乐phone如何监控到去电号码
- Android系统如何获取相册图片
- android封装
- Android ListView在屏幕内的item复用后都使用的同一个view
- cygwin下repo下载 android出错!!刚开始玩,请大家指教!
- 求问dedexer反编译dex文件后生成的ddx文件怎么变为java或者smali怎么用
比如我们可以为一个Service(如播放音乐的Service)产生一个Thread线程。但是Service和Thread又是有区别的:
Service类 是可以供其他应用程序来调用这个Service的
而Thread只是在本类中在使用 如果本类关闭 那么这个thread也就没了
也就是说使用service 做耗时的任务的时候 还是要自己去开启一个新的线程的。。!要不然会阻塞ui线程哦。。!
为什么耗时的任务要开启新线程,不开启,就在service里做不行吗?
阻塞ui线程??? 能举个例子吗?
5秒内没响应就会 弹出anr窗口比如你去查询网络服务器xxx信息
1:Service内可以处理界面远程,比如弹出一个消息框,而线程不可以。
2:Service像Activity一样,不能处理耗时操作,耗时操作都需要放在Thread处理
3:Service可以通过Activity调用,但Thread不可以。
4:Service可以长时间运行在后台,即使程序关闭也如此。但Thread不行。
5:Service是进程与进程间通讯的,不同的Service是处在不同的进程中,而Thread是一个线程。
6:一般Service与Thread可以处理比较复杂的操作,如果网络编程,可以通过Service进行监听,然后通过Thread进行处理数据,处理完后进行反馈