Android开发实战总结

Android Service服务

2017-10-17  本文已影响43人  AKyS佐毅

一.基础知识

1.Service是什么?

2.进程

四大组件都支持android:process=":remote"这个属性。

因为Service可以运行在不同的进程,这里说一下Android中几种进程的优先级,当系统内存不足时候,系统会从优先级低的进程开始回收,下面根据优先级由高到低列出Android中几种进程。

此外,一个进程的级别可能会因为其他进程对它的依赖而有所提高,即进程A服务于进程B(B依赖A),那么A的进程级别至少是和B一样高的。

3. Service配置

和其他组件(Activity/ContentProvider/BroadcastReceiver)一样,Service需要在Androidmanifest.xml中声明。

Service.png

Service是运行在主线程中的,如果有什么耗时的操作,建议新建子线程去处理,避免阻塞主线程,降低ANR的风险。

4. 服务启动方式

服务可以由其他组件启动,而且如果用户切换到其他应用,这个服务可能会继续在后台执行。到目前为止,Android中Service总共有三种启动方式。

startService和bindService可以同时使用

服务一般分为两种:

1:本地服务, Local Service 用于应用程序内部。

2:远程服务, Remote Service 用于android系统内部的应用程序之间。

那么先来看Service的生命周期吧:

Service生命周期.png

从上诉可以知道分别对应本地的,,以及远程的,也对应不同的方式启动这个服务。

二.注意事项

2.1 同一服务,多次启动,服务实际执行的过程

具体代码如下:

Service.png onStartCommand.png startService.png bindService.png
上一篇 下一篇

猜你喜欢

热点阅读