服务Service (一)

来源:互联网 发布:网络对抗能力 编辑:程序博客网 时间:2024/05/22 11:40

服务: Android四大组件之一,长期后台运行的没有界面的组件。

android系统进程管理是按照一定的规则的:
1.应用程序一旦被启动,通常情况下关闭(清空任务栈,即所有的Activity从任务栈中移除)后进程不会停止。方便下一次快速启动。
带来内存不足的问题。
2.Android系统有一套内存清理机制。 按照优先级去回收系统的内存。

进程分为5个等级的优先级:(从高到低)
1.Foreground process 前台进程 用户正在玩的应用程序对应的进程
2.Visible process 可视进程 用户仍然可以看到这个进程的界面。
3.Service process服务进程 应用程序有一个服务组件在后台运行。
4.Background process 后台进程 应用程序没有服务在运行 并且最小化 (activity onstop)
5.Empty process 空进程 没有任何运行的activity, 任务栈空了

支持长期后台运行任务的,服务和子线程都可以实现。
但是一旦内存不足,进程被回收掉,子线程也就被销毁了。
不过服务却可以提高进程的优先级,使得系统不容易回收掉进程,即便进程被回收,当内存充足的时候,进程又会被重新创建,服务也就可以继续在后台运行了。
所以如果现在需要有一个长期后台运行的任务, 不要在activity开启子线程,而是应该创建服务,在服务里面开启子线程。

0 0