Android Service小记

Service 是Android 的一种组件,跟线程无关。android

Service 分两种启动方式 startService()和bindService()spa

两种都须要在Androidmanifest.xml配置线程

<service android:name="com.xx.xx"></service>

两种Intent都可以使用 code

Intent intent= new Intent("com.itg.download");

或者xml

Intent intent= new Intent(context,service.class);

两种启动方式blog

生命周期生命周期

startService: 未建立:onCreate()->onStartCommand()->onStop()->onDestroy()进程

       已建立:onStartCommand()->onStop()->OnDestroy()rem

bindService:未建立:onCreate()->onBind()->onUnbind()->onDestroy()it

       已建立:onBind()->onUnbind()->onDestroy()

即:二者onCreate()方法只会执行一次。二者即便屡次被建立但只会有一个service实例。

      startService方式,一经建立,即便依赖的Activity被摧毁,依旧能够不受影响的运行;

      而bindService方式,随依赖的Activity销毁而结束。

 

关于LocalService和RemoteService

解释:localService即本地服务,生命周期依赖于主进程(UI进程)。remoteService,独立服务,被建立于独立进程,如需与UI交互,须要IPC。

使用 两种启动方式默认便是localService;

      RemoteService,需配置

1:<service android:name="com.xx.xx" process=":remote"></service>
或:
2:<service android:name="com.xx.xx" process=".remote"></service>
区别:1:本应用私有服务独立进程。2:共享服务独立进程

下面写法错误,打包会出错
<service android:name="com.xx.xx" process="remote"></service>
出错:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED manifest 写法畸形 即写法不当。

remote是service名字后缀,不限制。

相关文章
相关标签/搜索