Service
Service是Android的四大组件之一
(Activity Service BroadCastReceiver ContentProvider),
负责完成没有UI情况下的工作.
Service和Activity有些类似 都在application的主线程中运行
区别在于service不依赖于ui 即使退出当前的ui界面 服务也可以继续运行.
Service != Thread
服务和线程不一样,虽然它们看起来很相似.
服务的生命周期从activity内startService开始 直到stopService结束.
Thread的生命周期则从Thread.start开始 stop结束
服务可以和活动绑定 使得活动可以指定服务的动作
使用服务
把服务当成活动的补充 服务在活动显示/不显示的时候都能工作
在活动不显示的时候 和用户交互
服务需要在AndroidMainfest.xml中声明
<service
android:name=".Myservice"
android:enabled="true"
android:exported="true"></service>
服务对象应该派生自Service类
public class Myservice extends Service{
@Override
public void onCreate() {
super.onCreate();
Log.d("sliver", "service create");
new Thread(new Runnable() {
@Override
public void run() {
for (;;) {
Log.d("sliver", "doing some thing");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d("sliver", "service destroy");
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
activity中启动服务
Intent intent = new Intent(this, Myservice.class);
startService(intent);
销毁服务
Intent intent1 = new Intent(this, Myservice.class);
stopService(intent1);