不可避免,当系统内存非常紧张并且轮到 Service 进程被杀的时候,这时候在非 root 的 Android 手机/平板 都是无力回天的;一般来说系统杀掉 Service,过 5-10 秒会再次启动 Service(如果有应急机制)。

其实问题的实质就是:系统重启 Service 后,如何保持与重启前一样?

设置 onStartCommand() 的返回值(这里牵扯到 Service 的启动方式)。

onStartCommand() 有其中两个返回值:

START_STICKY:kill 后会被重启,但重启后调用 onStartCommand(Intent,int,int),但是传进来的 Intent这个参数为 null,

START_REDELIVER_INTENT:重传Intent。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统会自动重启该服务,并将Intent的值传入。

当然还有一种流氓的做法来提升 Service 的优先级:使用startForeground(),但是下拉菜单会显示。

android服务常驻后台,[问答] Android应用中,如何保证服务常驻内存?相关推荐

  1. android 8.0后台定位,Android 8.0权限说明

    从Android 8.0开始系统为实现降低功耗,对后台应用获取用户位置信息频率进行了限制,每小时只允许更新几次位置信息,详细信息请参考官方说明.按照官方指引,如果要提高位置更新频率,需要后台应用提供一 ...

  2. Notification使用详解之三:通过服务更新进度通知在Activity中监听服务进度

    为什么80%的码农都做不了架构师?>>>    上次我们讲到如何实现一个可更新的进度通知,实现的方式是启动一个线程模拟一个下载任务,然后根据任务进度向UI线程消息队列发送进度消息,U ...

  3. android自带的nsd发现服务器,Android NSD(网络服务发现)是否与iOS中的Bonjour服务兼容?...

    I will create a server-less local networking App for iOS and Android. the App in both iOS and Androi ...

  4. android 8.0后台定位,Android8.0适配前台定位服务service的示例代码

    从Android 8.0开始系统为实现降低功耗,对后台应用获取用户位置信息频率进行了限制,每小时只允许更新几次位置信息,详细信息请参考官方说明.按照官方指引,如果要提高位置更新频率,需要后台应用提供一 ...

  5. android闹钟程序后台运行,Android闹钟启动时间设置无效问题的解决方法

    Android开发中,alarmManager在5.0以上系统,启动时间设置无效的问题 做一个app,需要后台保持发送心跳包.由于锁屏后cpu休眠,导致心跳包线程被挂起,所以尝试使用alarmMana ...

  6. android高德地图后台运行,Android手把手教你集成高德地图

    在上一篇博客上,和大家分享了如何在Android中集成高德定位以及定位的基本使用.今天我们就来看看高德地图在Android中如何使用吧. 同样,我将本篇博客的内容分为如下部分: (1)添加高德SDK ...

  7. android 熄屏 后台运行,Android进程保活/息屏后后台保持定位、网络运行

    Android 设备在黑屏的分钟后可能会发生多种情况: 应用程序切后台后进程资源被系统回收,导致不能持续定位. 解决办法: 长连接定时唤醒cpu(解决黑屏定位.黑屏断网问题) 对于原生Android系 ...

  8. android_secure写权限,android - android.permission.WRITE_SECURE_SETTINGS,系统应用程序中的权限拒绝 - 堆栈内存溢出...

    我知道android.permission.WRITE_SECURE_SETTINGS应该在系统应用程序中调用,所以我将我的应用程序推入/ system / app并安装它,但错误信息显示: java ...

  9. 介绍Azure服务平台,.NET Services及其中的访问控制服务(Access Control)

    10月27日我们的首席软件架构师Ray Ozzie在洛杉矶召开的"专业开发人员大会"(PDC)上与软件开发人员分享了AzureTM服务平台,一个全新云计算平台的技术预览版.这个服务 ...

最新文章

  1. 面向对象设计领域的OCP原则
  2. SSL连接并非完全问题解决
  3. 74HC573锁存器用法
  4. python 信号模块 signal
  5. 基于Pytorch再次解读LeNet-5现代卷积神经网络
  6. Java(静态)变量和(静态)代码块的执行顺序
  7. java string对象创建对象_Java String 创建了几个对象
  8. iptables 命令记录
  9. aix oracle 10.2.0.1 升级 10.2.0.4,install oracle 10r2 for aix
  10. 超级计算机开采金矿,科学家发现地球内部有超60万亿吨金矿,为什么没人敢开采?...
  11. hulu往届笔试题及解题思路
  12. 改变win7登陆时的界面
  13. c#迁移文件的时候提示:对路径xxx的访问被拒绝
  14. VLAN及VLAN间路由
  15. Facebook Google广告开户流程
  16. 解决IEM被禁用的问提
  17. 基于微信小程序的二手交易平台
  18. OpenCV函数remap详解
  19. 商城项目商品列表页的渲染实现(含动图)
  20. git github 快速入门

热门文章

  1. 哈佛商学院 MBA 课程介绍
  2. ML之prophet:利用prophet算法对维基百科页面的日志每日页面浏览量实现回归预测(时间序列的趋势/周季节性趋势/年季节性趋势)案例
  3. 游戏服务器 linux windows,游戏服务器用windows还是linux的系统好?
  4. 乐益达 儿童益智网html样式
  5. 微信小程序-06 tab选项卡滑动切换与列表Item(scroll 、 swiper)数据的获取等所用到的都有了
  6. 霍常亮教你开发淘宝客app第3节
  7. 2023年第五届人工智能与机器学习国际会议(FAIML 2023)
  8. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter17-ChapterB )
  9. pyQT5 AES 加解密
  10. 二次元个人主页html源码