Service
Service是什么?
1,Service是一个应用程序组件,它用来后台完成一个 时间跨度比较大 的工作且 没有任何关联界面
2,service可以完成下面这些工作:
访问网络
播放音乐
文件IO操作
大数据的数据库操作
3,服务的特点:
- service在后台运行,不能与用户进行交互
- 即使应用退出,服务也不会停止
- 在默认情况下,service运行在应用程序的主线程中,如果需要service处理一些网络连接等耗时操作,那么应该将这些任务放在分线程中处理,避免阻塞用户界面
(总结下上面的:“服务”也就是说,当你关闭的应用时(不是清理进程),你的activity是死掉的,但是你的服务(不是绑定启动)还在后台运行。如果绑定启动的话,就是随activity一起死去。)
Service的分类:
1,本地服务LocalService
- Service对象与Service的启动者在同个进程中运行,两者的通信是进程内通信
2,远程服务RemoleService
- Service对象与Service的启动者不在同个进程中运行,这时存在一个进程间通信的问题,Android专门为此设计了AIDL来实现进程间的通信
启动与停止服务:
1,方式一:一般启动
- context.startService(Intent intent)
- context.stopService(Intent intent)
2,方式二:绑定启动
- 1,context.bindService(Intent intent,ServiceConnection connection)
- 2,context.unbindService(ServiceConnection connection)
先上布局截图吧(代码应该不需要上了吧…):
步骤也就是首先要创建一个继承Service的子类:
public class MyLocalService extends Service {
public MyLocalService(){
Log.e("TAG","MyService()");
}
@Override
public void onCreate() {
super.onCreate();
Log.e("TAG","MyService onCreate");
}
@Override
public void onDestroy() {
super.onDestroy();
Log.e("TAG","MyService onDestroy");
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
Log.e(