开发者社区> 问答> 正文

通过Android 端开源的Low Memory Killer内核源码可以分析到什么?

已解决

通过Android 端开源的Low Memory Killer内核源码可以分析到什么?

展开
收起
胡嘞嘞 2022-07-07 13:02:44 424 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    根据APP的优先级和使用总内存的多少, 系统会在设备内存吃紧情况下强杀应用。

    内存吃紧的判断取决于系统R S S (实际使用物理内存, 包含共享库占用的全部内存)的大小。

    关键参数有3 个:

    ooom_adj:在Framework层使用,代表进程的优先级, 数值越高,优先级越低,越容易被杀死。

    ooom_adjthreshold:在Framewo r k 层使用,代表oom_adj的内存阈值。AndroidKernel会定时检测当前剩余内存是否低于这个阀值, 若低于则杀死oom_adj≥该阈值对应的oom_adj中,数值最大的进程, 直到剩余内存恢复至高于该阀值的状态。

    ooom_score_adj:在Kernel 层使用,由oom_adj换算而来, 是杀死进程时实际使用的参数。以上内容摘自《高德技术2020年刊合集》电子书,点击https://developer.aliyun.com/topic/download?id=1135可下载完成版

    2022-07-07 13:38:50
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载