android service常驻内存的一点思考

news/2024/12/25 2:48:53

我们总是不想自己的Android service被系统清理,以前时候大家最常用的办法就是在JNI里面fork出子进程,然后监视 service进程状态,被系统杀死了就重启它.

我分别在android4.3和android5.0上面测试了LBE的清理内存功能,看看是不是会达到不被清理的目的,发现在这两个版本上还是有一些区别的

先说一下我们的代码,我们的service在单独的进程中,在service中调用JNI的代码,然后fork出一个进程,然后让我们的service进程和fork出来的子进程一直运行.

看清理之后的状态

android4.4上面,JNI fork出来的进程没有被杀死,可以把被杀死的service进程重启

android5.0上面还有效么?清理内存操作之后,可以看到fork出来的进程也会被杀死..看来这种方法已经失效了..

为什么5.0上面就不行了呢,咱们看一下activitymanagerservice,LBE的清理内存应该调用的killBackgroundProcesses,看看他们有什么区别

5.0的代码

Process.killProcessQuiet(app.pid);Process.killProcessGroup(app.info.uid, app.pid);

4.3的代码

Process.killProcessQuiet(pid);

5.0的代码增加了killprocessgroup..

看来fork进程的方式来让android服务常驻内存的方式在5.0上面不管用了…


http://www.niftyadmin.cn/n/4585946.html

相关文章

转:开启命令行下的社交-webqq脚本

最近一直在命令行下工作,除了 Google Chrome,几乎很少接触 GUI 相关的软件。前段时间把手机上的 QQ 给卸载了,希望可以把时间凝聚在更加有价值的位置,今天突然又想起了这个软件,突发奇想,在命令行下玩弄 QQ…

针对NFT的网络钓鱼

针对NFT的网络钓鱼 钓鱼邮件 攻击者利用各种热点(NFT预售、钱包升级、空投认领、合约升级、项目更换网站、特殊NFT)等,发送包含精心模仿的官方网站、预售平台、app下载链接等的钓鱼邮件。 示例:OpenSea 事件描述:根据OpenSea的…

linux基础命令-centos

2019独角兽企业重金招聘Python工程师标准>>> 学习大数据,必须了解linux基础命令,本文是基于centos7.0: 1.pwd: 显示当前所在的路径 2. 家目录:linux系统里的家目录(即用户目录)是存放个人数据。除了root用户,其他用户的…

Coinbase:关于跨链桥的基础知识、事实和统计数据

Coinbase:关于跨链桥的基础知识、事实和统计数据 介绍 桥是一个较新的概念,在2021年开始流行。桥允许加密货币持有者在不同区块链之间“移动”(或“桥接”)他们的资产。这使他们能够从一条链跳到另一条链并接触其他网络。 我们发现从2021年4月开始&…

[BIM]BIM中IFD介绍

第三大支柱IFD - 确定交换的信息和你要的信息是同一个东西 IFD的全称是International Framework for Dictionaries,中文可以叫“国际字典框架”,和前两者IFC/IDM一样,作为BIM用户,能记住IFD的名字和记住IFD是字典就行了。 用BI…

使用 Nodejs、MetaMask 和 OpenSea 来进行 NFT登录

使用 Nodejs、MetaMask 和 OpenSea 来进行 NFT登录 假设我们想要构建一个应用程序,其中只有来自特定集合的NFT的所有者才能登录。 需要使用的技术: Nodejs用于后端/API。用于客户端登录的Metamask。用于NFT所有权验证的OpenSea API。 这是Authenticat…

菱形虚拟继承虚函数表对象模型

菱形继承:Assitant的菱形继承对象模型Assitant中有两份Person成员,存在二义性和数据冗余。所以我们引出了虚拟继承。virtual虚继.不会在子类中创建父类成员,但是子类中可以引用,就像指针一样。主要用在菱形继承,也叫钻…

cmder中git log 文乱码

2019独角兽企业重金招聘Python工程师标准>>> 打开设置; Startup-Environment; 添加 set LANGzh_CN.UTF-8 git status时中文文件名乱码 现象: \344\275\240\345\245\275执行以下命令即可: git config --global core.quotepath false quotepath…