23 服务的小小总结
Service:服务
四大组件:Activity ContentProvider BroadCastReceiver Service
Service:在后台执行长时间的操作,没有用户界面,是一个可执行的程序
2,用途:
1,下载大文件
2,播放音乐
3,记录位置信息(地图)
3,Activity 区别:
activity:有可见的界面 在主线程执行
Service:没有界面 在后台执行 在主线程执行
4.Service和线程的区别:Service 不是线程 (面试)
5,使用:
1,启动Service
生命周期:
09-22 00:57:54.150: E/MyService(9105): ===onCreate===
09-22 00:57:54.150: E/MyService(9105): ===onStartCommand===
09-22 00:58:00.150: E/MyService(9105): ===onDestroy===
特点:1,Service和启动源(Activity)是没有关系的
2,启动源无法从Service里获取数据
2,绑定Service(如果想从Service里获取数据 使用绑定Service)
生命周期:
09-22 02:40:21.430: E/MyService(11242): ===onCreate===
09-22 02:40:21.430: E/MyService(11242): ===onBind===
09-22 02:40:26.320: E/MyService(11242): ===onUnbind===
09-22 02:40:26.320: E/MyService(11242): ===onDestroy===
IntentService:内部开启了线程 可以多次执行 每个耗时操作会进行排列 OnHandlerIntent()
IntentService适合只有一个线程时使用 如果有多个线程同时执行 用普通的service
启动方式:startService()