点击按钮开启服务,并观察onCreate,onStartCommand,onDestroy的执行
package com.sqf.testservice;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void click(View v){
Intent intent = new Intent(this,MyService.class);
startService(intent);
}
}
package com.sqf.testservice;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
public class MyService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
/**
* Activity的生命周期 oncreate ondestory onstart onstop onresume onpause
*
* 服务没有界面,生命周期:
* oncreate ondestory onstart
*
* 当那你打开一个程序,关闭的时候,后台会有一个而进程,当你的内存不足的时候,这个服务进程会被关闭,
* 当内存充裕的时候,这个进程会被打开
* */
@Override
public void onCreate() {
System.out.println("服务创建了");
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
System.out.println("服务接收到了开启指令");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
System.out.println("服务销毁了");
super.onDestroy();
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.sqf.testservice.MainActivity" >
<Button
android:onClick="click"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开启服务" />
</RelativeLayout>
清单文件:
在清单文件中对服务进行添加,四大组件都要在application中添加