zoukankan      html  css  js  c++  java
  • Android服务Service具体解释(作用,生命周期,AIDL)系列文章-为什么须要服务呢?

    Android服务Service具体解释(作用,生命周期,AIDL)


    近期沉迷于上班,没有时间写博客了。解衣入睡,未眠。随起床写一篇博客压压惊!




    ##我们android系统为什么须要服务Service呢?

    在某些场景下。我们须要应用程序长期在后台跑着。对吧!可是呢,我们的应用已经退到后台了。

    比方说。我们的播放音乐,我们希望能够退到后台以后,还能够屁颠屁颠地继续播放是吧。也许,你会说,我们起一下子线程播放,即使我们退出了应用,这个线程还是在跑的呀。也就是说,开启一个子线程。也能够没有界面地在后台跑嘛!

    那么。我们先要了解一下在android系统下各进程的优先级了!

    先来看几个专有名词吧:

    • 前台进程:你能够看到应用的界面,而且能够和它交互。这就是前台进程啦!

    • 可视进程:你能够看到这个进程。可是不能够操作,这也是和前台进程的差别。就是不能够操作。

    • 服务进程:长期于后台运行。没有界面也在跑的进程就叫做服务进程啦。
    • 后台进程:所谓的后台进程就是程序最小化,本质上是没有退出的。
    • 空进程:程序程序的组件没有不论什么的活动,也就是挂了嘛!




    知道了前面的几大专用名词。我们要知道的是内存的大小是有限制的。也就是设备的大小是有限的。android操作系统须要合理地管理这些资源,依据优先级。保证用户能够使用等等。所以须要对这些进程进行一个优先级排列,当资源不够用的时候呢,就会去杀掉,或者说清空低级别的进程。

    所以有了:

    前台进程>可视进程>服务进程>后台进程>空进程

    好,当你看到这里的时候,我们回到前面的。开一个子线程。运行一些没有界面也不会退出的任务。那么我们这样去操作:开启一个子线程以后。我直接最小化,这个程序,它是不是就变成了一个后台进程呢?对吧,当资源不够用的时候。它呢就把这个后台进程杀死。而且,这个子线程再也不会起来了。

    可是,服务不一样,首先,比后台进程的优先级高。所以不那么easy杀死,另外,服务真的由于资源不够而被杀死了。等到资源释放够了,或者其它东西运行完了,够资源了,服务又自己主动地跑起来了!



    所以说,我们为什么要用服务呢?

    两点原因:

    • 服务能够长期在后台运行,即使没有界面,优先级比較高,不easy被杀死。
    • 即使服务被杀死了,也能够自己主动地被操作系统启动起来。

    网易云视频:



    社区站点:


  • 相关阅读:
    vue_组件化开发
    C++ / C# 访问网络共享文件夹
    PetaLinux 设置操作系统内存
    linux 不用./ 直接执行程序
    Visual Studio Code 开发环境搭建 —— C# 扩展插件
    Visual Studio Code 调试项目时传参
    PetaLinux 安装
    Ubuntu 报 "xxx is not in the sudoers file.This incident will be reported" 错误解决方法
    常用 Linux 命令
    搭建 Git 服务器(Ubuntu 系统)
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8689969.html
Copyright © 2011-2022 走看看