2.提高进程的优先级,系统不容易回收掉进程,即便回收了,内存充足的时候,把进程重新创建。
下面看看服务怎么创建:
你会发现: Activity extends ContextThemeWrapper
Service extends ContextWrapper
Activity和Service都继承了同一个类,这样至少说明servicehe和Activity一样,都有生命周期。
Activity生命周期:oncreate ondestory onstart onstop onresume onpause
对于Service,oncreate和onDestroy【因为Service是在后台运行的组件,是没有界面可言的】
创建一个Activity,实现一个单击事件,打开Service
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View view) { Intent intent=new Intent(this,MyService.class); //创建一个意图 <strong>startService(intent); //这个地方需要startService(开启服务)</strong> } }
public class MyService extends Service{ @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } //oncreate ondestory //服务没有界面 @Override public void <strong>onCreate()</strong> { System.out.println("服务创建了"); <strong>//程序每次运行的时候开启,每次关闭程序下次再次开启的时候触发</strong> super.onCreate(); } @Override public int <strong>onStartCommand</strong>(Intent intent, int flags, int startId) { <strong>//第一次运行程序的时候,开启触发一次。</strong> System.out.println("服务器收到了开启命令"); return super.onStartCommand(intent, flags, startId); } @Override public void <strong>onDestroy()</strong> { <strong> //取消服务的时候触发一次</strong> System.out.println("服务销毁了"); super.onDestroy(); } }
<service android:name="com.itheima.testservice.MyService"> </service>