当前位置: 首页 > news >正文

Android 10 低内存应用白名单和应用保活

功能:1、实现低内存时候不杀应用 2、应用保活
代码路径:
frameworks/base/service/score/java/com/android/server/am/ActivityManagerServiceEx.java
frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
frameworks/base/core/java/android/app/ProcessProtection.java
frameworks/base/services/core/java/com/android/server/am/ProcessList.java
frameworks/base//core/res/res/values/config_ex.xml
frameworks/base/services/core/java/com/android/server/am/LmKillerTracker.java
一、应用保活
应用保活:1、保持进程不被系统杀死 2、进程被系统杀死之后,可以重新复活。
应用保活原理:提高应用的oom_adj值,这样应用不管切换到后台的时候,都让该进程保持前台进程,这样就不容易被系统杀死,如果adj的值越大就越容易被系统杀死。
如何提高adj值就可以实现应用保活
在ActivityManagerServiceEx.java文件中构造函数中提高adj值,其中该updateOomAdjLocked()方法就是更新adj值

static HashMap<String, ProtectArea> sPreProtectAreaList;
static {
sPreProtectAreaList = new HashMap<String, ProtectArea>();

相关文章:

  • 攻防演练中攻击队需要的安全技能第二篇
  • C#的File 类使用说明
  • 零基础能学大数据技术吗?学完能找到工作吗?
  • 实时即未来,车联网项目之远程诊断实时故障分析【七】
  • 《SpringBoot篇》10.JPQL超详细介绍与JPA命名规则
  • 【Android-实战】1、Room 使用 Flow 和 collect() 监听数据库的变化、动态更新页面
  • python字符串应用
  • asp.net高校网上评教信息系统VS开发sqlserver数据库web结构c#编程计算机网页项目
  • 暂退法dropout----详解与分析(多层感知机)
  • Android Tablayout样式修改
  • 朋友圈那位隐藏大佬的单片机学习心得
  • Android系统启动流程全解析--你知道Android系统启动都干了啥吗
  • openGl绘制五星红旗
  • 【数据结构】二叉树
  • HTML常用标签二
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Leetcode 27 Remove Element
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 爱情 北京女病人
  • 精彩代码 vue.js
  • 小程序 setData 学问多
  • 智能合约Solidity教程-事件和日志(一)
  • gunicorn工作原理
  • Semaphore
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • #laravel 通过手动安装依赖PHPExcel#
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (MATLAB)第五章-矩阵运算
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二)linux使用docker容器运行mysql
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (区间dp) (经典例题) 石子合并
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @Autowired多个相同类型bean装配问题
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • @RestController注解的使用
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [ C++ ] STL---stack与queue
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [Android] Amazon 的 android 音视频开发文档
  • [android] 切换界面的通用处理
  • [C++参考]拷贝构造函数的参数必须是引用类型
  • [IE6 only]关于Flash/Flex,返回数据产生流错误Error #2032的解决方式