在android开发中通常都会用到activity与service交互,把 一些耗时的操作或异步操作丢到service中去执行(可以new Thread),activity专注UI方面的工作。
运行service有二种方式:一种是调用startService()方式、另一种是调用bindService()方式。
无论那一种方式,service和activity运行在同一个线程中(UI线程),如需要可以在service中另启线程,执行长时间的操作。IntentService是特殊的service,它会创建单独的工作线程(无需手动开启线程),在onHandleIntent()方法中来处理intent请求。
当然在开始调用service时必须先要在AndroidManifest.xml中注册该service。
若以startService方式运行,则service的生命周期:
onCreate()只有第一次调用startService才执行,以后每次都不执行