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

宁波网站网站建设24小时网站建设

宁波网站网站建设,24小时网站建设,刷百度指数网站,网络工程师报名AOSP CachedAppOptimizer:应用进程长期处于 Cached 状态的内存压缩和冻结优化管控 冻结和内存压缩两个功能独立触发,可以单独触发也可以组合触发,默认顺序:先压缩,后冻结 public class OomAdjuster { protected b…

AOSP CachedAppOptimizer:应用进程长期处于 Cached 状态的内存压缩和冻结优化管控

冻结和内存压缩两个功能独立触发,可以单独触发也可以组合触发,默认顺序:先压缩,后冻结

public class OomAdjuster {    protected boolean applyOomAdjLSP(ProcessRecord app, boolean doingAll, long now,{        ...        if (state.getCurAdj() != state.getSetAdj()) {            //内存压缩            mCachedAppOptimizer.onOomAdjustChanged(state.getSetAdj(), state.getCurAdj(), app);        }        ...        updateAppFreezeStateLSP(app, oomAdjReson, false);        ...    }    void updateAppFreezeStateLSP(ProcessRecord app, @OomAdjReason int oomAdjReason,	...        if (state.getCurAdj() >= FREEZER_CUTOFF_ADJ && !opt.isFreezeExempt()   && !opt.shouldNotFreeze()) {              // 异步冻结	    freezeAppAsyncLSP(app); // 调用 mCachedAppOptimizer.freezeProcess	}        ...}public final class CachedAppOptimizer {    @GuardedBy({"mService", "mProcLock"})    void onOomAdjustChanged(int oldAdj, int newAdj, ProcessRecord app) {        if (useCompaction()) {            // Cancel any currently executing compactions            // if the process moved out of cached state            if (newAdj < oldAdj && newAdj < ProcessList.CACHED_APP_MIN_ADJ) {                cancelCompactionForProcess(app, CancelCompactReason.OOM_IMPROVEMENT);            }        }    }    void onProcessFrozen(ProcessRecord frozenProc) {        if (useCompaction()) {            synchronized (mProcLock) {                compactApp(frozenProc, CompactProfile.FULL, CompactSource.APP, false);            }        }        frozenProc.onProcessFrozen();    }}

行为模式

触发条件

资源压力/策略

只冻结,不压缩

-state.getCurAdj() >= FREEZER_CUTOFF_ADJ

-!opt.isFrozen()

-!opt.shouldNotFreeze()

- 内存充足但需省电

- 进程优先级未触发压缩阈值

newAdj ≥ CACHED_APP_MIN_ADJ

同时冻结+压缩

-oom_adj ≥ CACHED_APP_MIN_ADJ

- 进程未被取消压缩(!mPendingCompactionProcesses.contains(app)

- 内存碎片化严重(compact_full_rss_throttle_kb)

- 低电量模式

只压缩,不冻结

-oom_adj ≥ CACHED_APP_MIN_ADJ

-opt.isFreezeExempt()或

state.getCurAdj() < FREEZER_CUTOFF_ADJ

- CPU负载低

- 进程标记为不可冻结(如persistent)

不冻结也不压缩

-oom_adj < CACHED_APP_MIN_ADJ

- 或opt.shouldNotFreeze()

- 或压缩被取消(CancelCompactReason)

冻结(Freezer)策略与压缩交互

冻结(Freezer)和压缩(Compaction)的执行顺序是明确且不可随意调换的。默认顺序:先压缩,后冻结,冻结依赖压缩完成

冻结会将进程的内存页标记为不可移动(PG_dontdump),若先冻结再压缩,内核会跳过冻结进程的内存页,导致压缩失效。

场景

冻结状态

压缩状态

说明

进程刚进入缓存

❌ 未冻结

✅ 可压缩

优先触发FULL压缩,再根据资源压力决定是否冻结。

进程长期缓存

✅ 已冻结

❌ 不压缩

冻结后内存页标记为不可移动(PG_dontdump),避免压缩开销。

进程解冻后

❌ 解冻

✅ 可压缩

若仍满足缓存条件,可能触发新一轮压缩(需冷却时间)。


文章转载自:

http://QFVMSIGD.ymmjx.cn
http://TJUMuQ9J.ymmjx.cn
http://fxGyg5ne.ymmjx.cn
http://oIn1upM9.ymmjx.cn
http://FrtF3V2X.ymmjx.cn
http://cJY7k5F0.ymmjx.cn
http://KFoj9q1S.ymmjx.cn
http://TClDpAKK.ymmjx.cn
http://i9aVjTtw.ymmjx.cn
http://i1AI7NZK.ymmjx.cn
http://CZVkJNRA.ymmjx.cn
http://mdNwhE9U.ymmjx.cn
http://aARJzp1U.ymmjx.cn
http://2fes13K7.ymmjx.cn
http://PiJShcl7.ymmjx.cn
http://XTN1I1Ug.ymmjx.cn
http://XJ13qkiZ.ymmjx.cn
http://HPfe7viY.ymmjx.cn
http://WxJF99Ex.ymmjx.cn
http://lIrZcCbl.ymmjx.cn
http://Obm4dnkI.ymmjx.cn
http://wOmlF3MT.ymmjx.cn
http://I0WTt5t7.ymmjx.cn
http://zyQ4sEBV.ymmjx.cn
http://DSB6kUI1.ymmjx.cn
http://tzqfuusD.ymmjx.cn
http://tFqBP1De.ymmjx.cn
http://SdMUXTYS.ymmjx.cn
http://0ixiv8z2.ymmjx.cn
http://TQI4jdGZ.ymmjx.cn
http://www.dtcms.com/wzjs/617860.html

相关文章:

  • 长沙做官方网站手机app开发编程自学
  • 广州网站建设业务血液中心网站建设规范
  • 婚庆设计图网站中国纪检监察网官网
  • 外汇交易网站开发有没有做文创的网站
  • 专做民宿的网站请人做网站要注意什么
  • 深圳网站建设服务中心一级a做爰片免费网站 新闻
  • 免费的建网站软件北京所有做招聘类网站建站公司
  • 兼职做问卷调查的网站万维网网站续费
  • 织梦网站栏目添加外链发布平台大全
  • 在线做头像的网站vi设计经典案例
  • 中学生旅游网站开发的论文怎么写网站建设公司网站模版
  • 湖南营销网站建设网络营销题库案例题
  • 做编程的网站一个月多少钱杭州 高端网站建设
  • 织梦网站添加广告位哈尔滨高端网站建设
  • 网站建设翻译手机网站怎么制作
  • 网站开发外包wordpress语言文件编辑
  • 盐城网站推广电话网络营销具有哪些优势和吸引力
  • 建湖做网站哪家公司好方城网站制作
  • 网站怎么做微信接口福州最新消息
  • 怎么打帮人 做网站开发的广告哪个建站平台较好
  • 类似微薄利网站怎么做云南省公共资源交易中心官网
  • 旺苍网站建设18款未成年软件入口
  • 网站怎么做镜像网站制作
  • 官方网站建设流程及费用爱吧
  • 企业网站备案管理系统常州建设网站
  • 马鞍山市网站建设简洁的企业网站源码
  • 免费的站内推广方式有哪些专业的佛山网站设计
  • 贵阳建设职业技术学院招聘信息网站成都装修公司口碑最好的是哪家
  • 济南市做网站公司python做网页
  • 龙岗永湖网站建设如何打开wordpress