V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ysy950803
V2EX  ›  Android

MIUI 最近那个原子内存是什么原理?

  •  
  •   ysy950803 · 118 天前 via Android · 12628 次点击
    这是一个创建于 118 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近雷布斯的演讲有点意思,不过我更好奇那个 12.5 增强版(其实就是超级 Bug 修复版)里提到的原子内存,我看介绍大概是可以回收各个应用进程内部的局部内存,这样可以使得可用内存更多,后台被杀的概率降低。

    但是这个回收局部内存是咋做到的?比我我在微信聊天,但是支付暂时用不到,可以回收,系统如何判定的?

    110 条回复    2021-09-01 10:20:15 +08:00
    1  2  
    ysy950803
        1
    ysy950803  
    OP
       118 天前 via Android
    “比我”->“比如”
    AoEiuV020
        2
    AoEiuV020  
       118 天前
    这,gc ?总不可能回收有强引用的内存,那就是杀后台了,
    而且我是不信 miui 内存多了就不杀后台的,我 8G 内存时常剩 4g,照样死命杀后台,
    heiher
        3
    heiher  
       118 天前 via Android   ❤️ 2
    或许就是 swap 吧 :-D
    Mcx
        4
    Mcx  
       118 天前
    感觉是忽悠人的
    tyzrj766
        5
    tyzrj766  
       118 天前   ❤️ 2
    看酷安上面说就是把一个 APP 的服务分开去杀进程,例如一个微博有多项服务,需要内存资源的时候先杀个广告服务,不够了再杀另一个,不会干掉主程序。类似之前写轮眼吧,折腾安卓的应该都用过,以前我就是把百度输入法的服务留了一两个主要的,其他没用的全关了。
    yanzhiling2001
        6
    yanzhiling2001  
       118 天前
    swap
    tyzrj766
        7
    tyzrj766  
       118 天前
    @tyzrj766 #5 应该不是虚拟内存那么简单的东西,倒是最近看蓝厂还是绿厂有类似的操作,把 ROM 空余的一小部分增加一小部分虚拟内存用,反正现在动不动 128G 256G 的,拿个 2G 、4G 也无所谓。
    kokutou
        8
    kokutou  
       118 天前
    swap 吧..
    开发版已经实装了...叫内存扩展
    hello2066
        9
    hello2066  
       118 天前   ❤️ 4
    他就是原子嘛,利用原子的运动型,多样性,轨迹性。很多原子分配给各个进程,更好的监控进程嘛,预计你要开哪个,要关哪个。机器学习嘛,顶级操作系统功能,预加载,分片性,原子之间互相联系互相通讯,系统结构更紧凑响应更快。
    murmur
        10
    murmur  
       118 天前
    定向杀进程吧,反正国内常用的 app 一把手就数的过来,能解决阿里腾讯头条就可以拿出来吹了
    yinusxxxx
        11
    yinusxxxx  
       118 天前
    应该还是虚拟内存,把应用从 RAM 换出到 ROM 上,再加上 POSIX 提供了可以把一部分内存 pin 住不换出的系统调用,可以更加精确控制吧
    Dona1d
        12
    Dona1d  
       118 天前
    @kokutou 把整个内存比作房子,进程是住客。内存扩展是增加房间,我 12G 的感觉没什么用。原子内存应该是类似在保留最基本的住的需求的情况下。如果人少,住客就能享受完整的套房,如果人多,有的住客就会分到客厅、书房、厨房来住。
    yukiww233
        13
    yukiww233  
       118 天前   ❤️ 2
    看起来搜集一些主流应用的 activity 按优先级挑着杀, 而不是整个进程杀掉
    但问题是, ram 占用大头不是这个啊...
    感觉还是营销概念大于实际作用
    pengtdyd
        14
    pengtdyd  
       118 天前   ❤️ 45
    国内企业总喜欢搞这种微创新,然后起个看起来很厉害的名字,你说他有用吧,确实有用,你说他没用吧,也确实没啥用,都是鸡肋罢了.说白了还是格局被局限了,android 系统就像围城,很多企业在里面绞尽脑汁的"创新".如果以后出现一个颠覆性的产品出现,直接改变行业规则,就像马斯克之于汽车行业一样,那么这些企业就会像跟屁虫一样,去追随下一个颠覆者.
    hhjswf
        15
    hhjswf  
       118 天前
    听金凡吹,我感觉 jvm 应该请他过来指导,java 就稳坐第一了😂
    Maboroshii
        16
    Maboroshii  
       118 天前
    我倒是觉得哪个存储空间碎片整理的不错,不知道原生安卓有没有第三方应用能实现这个优化的
    zcfnc
        17
    zcfnc  
       118 天前   ❤️ 1
    # 14 不能再同意十四楼的说法,国内的很多东西光看名字和描述都以为我们领先别人几十年技术了,然后扒了皮一言难尽
    xishijt
        18
    xishijt  
       118 天前
    先把明明内存还剩一半,但是拼命杀后台的机制解决再说其他的
    littlewing
        19
    littlewing  
       118 天前
    ppt
    juded
        20
    juded  
       118 天前
    这个问题要问市场营销部门
    qsmd42
        21
    qsmd42  
       118 天前
    @hello2066 明天来华为入职!
    qsmd42
        22
    qsmd42  
       118 天前   ❤️ 2
    @Maboroshii 这个碎片整理我就更不明白了 闪存不是不需要碎片整理吗
    jingslunt
        23
    jingslunt  
       118 天前
    @hello2066 明年应该会出量子 cpu,齐点设备,抗熵增存储 怕不怕
    vmebeh
        24
    vmebeh  
       118 天前 via iPhone   ❤️ 4
    要不是国内软件各种骚操作、流氓一样保后台,也不需要这类东西
    andyskaura
        25
    andyskaura  
       118 天前   ❤️ 1
    @xishijt 拼命杀 拼命开 一边杀 一边开 只能说 生态太差了
    blessingsi
        26
    blessingsi  
       118 天前
    什么时候这种东西不是放在发布会上发布,而是放到开发者大会 or 发 paper 出来,让大家看看到底是个什么东西。
    mu2er
        27
    mu2er  
       117 天前 via iPhone
    这东西概念吹得可真厉害,像当年小米 5 发布时吹得各种黑科技,到手发现就那个样世界烂大街的功能。
    chenyx9
        28
    chenyx9  
       117 天前 via Android
    @jingslunt 这么大计算力的配置,耗电也挺吓人吧。建议先出氚聚变电池。
    iOCZ
        29
    iOCZ  
       117 天前
    感觉粒度到你说的支付功能不现实。首先你写程序你应该知道,你没用到的功能,是不太会占用内存的,其次用完了也会释放。因此减少驻留内存才是关键吧。
    tanranran
        30
    tanranran  
       117 天前
    楼上各种喷的人用一下就知道了,感知还是很强的
    tanranran
        31
    tanranran  
       117 天前   ❤️ 7
    原理是:正常情况下的安卓内存管理机制,是以 APP 的个数为基本单位的。比如你打开了微信,哪怕只是聊天,也要承担微信里比如定位、小程序、游戏。支付等功能同时唤醒带来的内存占用。要么都去掉,要么都接着。MIUI 新的 RAM 管理机制呢,则是将管理基本单位进一步细分、精确到了“项”,你打开微信,只聊天,那就只保留聊天,其他没用的功能,都给我乖乖地冷藏着。
    Maskeney
        32
    Maskeney  
       117 天前
    ZRAM 拉大点?
    tanranran
        33
    tanranran  
       117 天前
    @iOCZ 大哥,一看你就是没写过安卓,安卓中的多进程和多服务还是很好资源的
    jim9606
        34
    jim9606  
       117 天前
    主要问题是,当今能够大幅提升性能的改进,是少不了端对端的配合的,现在已经没有改改硬件或者系统、无需 APP 修改就能获得 buff 的事了。

    而且我是很奇怪怎么这个 MIUI 连版本号都不刷了,叫个 12.6 都好些,12.5 名声已经不好了,在 marketing 角度来看,就算新版本改好了,公众也很难摆脱以前的负面印象。

    @pengtdyd 革命性变化这种东西少也要 5-10 年的周期,而且初期肯定伴随着一大堆槽点的,指望一个成熟技术的常规迭代整这个就是不现实的。另外也别说只是国内公司这么干,国外公司也一样,PPT 看着牛逼的东西,要么有严苛的限定条件,要么未来可期那种。
    ajaxfunction
        35
    ajaxfunction  
       117 天前   ❤️ 3
    吹牛皮的东西,
    代码里少个换行符,
    到他嘴里都能变成,代码体积减少 3%,编译速度提示 2%,运行史诗般流畅。
    muzuiget
        36
    muzuiget  
       117 天前
    @ajaxfunction 你泄漏天机了。
    wikiwiki6
        37
    wikiwiki6  
       117 天前
    swap 而已
    不懂技术的又被忽悠
    Huelse
        38
    Huelse  
       117 天前
    真的只是 swap 吗?我记得安卓的内存机制和 linux 不一样
    WebKit
        39
    WebKit  
       117 天前 via Android   ❤️ 20
    不是 swap 。很多人 android 开发一点不懂,甚至连最近几代的 android 手机都没用过就开始云了。
    玩儿过 android,刷过机的基本都知道写轮眼吧。这就是官方写轮眼。实在不知道你看看正在运行的进城服务跟以前有什么不同不就知道了吗
    LeeReamond
        40
    LeeReamond  
       117 天前   ❤️ 12
    本帖是观察米黑反科学程度的良好素材,很多人是跟事实无关的直接云,然后估摸了一个自己理解范围内的东西,然后直接开喷
    fateofheart
        41
    fateofheart  
       117 天前   ❤️ 2
    真的是,很多人对安卓根本就不了解,看到内存两个字就知道 swap 。。。
    不过,这个“原子”内存活该被喷。。。
    murmur
        42
    murmur  
       117 天前   ❤️ 6
    @pengtdyd

    什么叫不微创新

    坚持 5v1a 不动摇?
    夹层主板?
    没有通话录音?
    没有工作日闹钟?
    NFC 不能复制卡片?
    pengtdyd
        43
    pengtdyd  
       117 天前
    42 楼 在监狱的小吴总是有一些狂热的追随分子,这些人常人很难理解,但是他们就是存在,很恶心人
    murmur
        44
    murmur  
       117 天前   ❤️ 21
    @pengtdyd 有本事这辈子苹果不要用屏下指纹、屏下相机、真全面屏,到时候我天天在 v2 看你的回复,看你是怎么看待苹果追随安卓微创新的

    有些人就是跪洋人跪傻了,我话就扔着了,没小米就没安卓手机的今天,硬件不如人,软件不如人,体验再不针对优化,直接输麻了

    苹果粉丝天天吹什么动画、吹那几个圆角、微创新,这是不是微精细度啊?好家伙,没有这么双标的,苹果叫工匠精神,到安卓就是无关紧要的微创新

    苹果酒喜欢这种花了钱还帮着洗地的,以后中国人需要的功能统统排最后,还有大笔的苹果税奉上
    x500
        45
    x500  
       117 天前
    利用 hook+打桩 stub 就可以实现吧, 好久以前 miui 不是里面"借鉴"了 xp 的代码吗?
    coolair
        46
    coolair  
       117 天前
    跟魅族的 OneMind 样,说起来高大上,用起来坑死人的东西吧。
    SenLief
        47
    SenLief  
       117 天前 via Android
    应该就是 swap,oppo 还是 vivo 来着不就有,写着可以把内存 8g 扩展到 12g 。不过我还是希望有华为功能那个 app 后台常驻,不知道怎么实现的,比如知乎在某个页面切换其他 app,知乎不会重启了,好几天还在那个页面。
    Building
        48
    Building  
       117 天前 via iPhone
    头疼医头,脚疼医脚的典型,你说内存不够,8G12G 还不够?你说 App 流氓,你个系统连 App 都管不好?
    elfive
        49
    elfive  
       117 天前 via iPhone
    应该改名叫上夸克内存或者奇异夸克内存,毕竟大部分人还是知道原子并不是最小粒度
    pengtdyd
        50
    pengtdyd  
       117 天前
    以后多去牢里面看看小吴,聊聊一块钢板的广告之旅
    nexmoe
        51
    nexmoe  
       117 天前
    应该就是每个应用的不同功能有各自的进程吧,比如下图的鸿蒙 OS 中的详细信息就有不同的进程,杀掉暂时不用的进程就行了
    ![图片来自酷安]( https://files.catbox.moe/sw8unq.jpg)
    butanediol2d
        52
    butanediol2d  
       117 天前 via iPhone
    @qsmd42 可能是类似 trim 、防止写入放大之类的操作吧,叫碎片整理为了方便营销?
    sexoutsex2011
        53
    sexoutsex2011  
       117 天前
    实际效果应该会弱于宣传效果
    Eagleyes
        54
    Eagleyes  
       117 天前
    @pengtdyd #14 你说的这种事情适合于各种行业。我觉得主要问题没本事,其次是输不起。

    1 、没本事,小米也要自己研发一个 HM OS ?估计没这个实力(何况这个系统也被人说套壳),另外也没人用自然就被时间淘汰了。国外强如微软 WP,2013 年听的是,三分天下,后面直接取消变成 iOS 和安卓二分天下,你凭啥认为自己有这个实力和号召力?

    2 、没钱,小公司就不说了,哪怕强如 BAT,其中有像 Google X 这么个烧钱部门么?舍不得烧钱,输不起。

    3 、聪明(鸡贼),做第一个吃螃蟹的人自然发财,但是绝大多数会变炮灰。等你研发出一个被市场证明,我在跟着学(致敬),岂不是稳扎稳打没风险?这就是你说的 Tesla 。。


    非不为也,实不能也
    anguiao
        55
    anguiao  
       117 天前
    @pengtdyd 属于是不带“国内”两个字不会说话了。
    Android 原生的很多机制并不能适应国内的应用生态,国内厂商做一些优化再正常不过了。
    每家都开发一个自己的系统是不现实的,能引领潮流的企业也永远都是少数。
    a22271001
        57
    a22271001  
       117 天前   ❤️ 3
    内存扩展和原子内存是两个不同的东西啊喂,先区分好两个东西再发言好吧
    villivateur
        58
    villivateur  
       117 天前 via Android
    楼上某些人是不看题目,见到“内存”两个字就扯 swap ?杀进程跟 swap 有啥关系?
    pengtdyd
        59
    pengtdyd  
       117 天前
    确实优化优化 android 是属于正常不过的行为了.优化优化系统壁纸,改改字体,替换一下 GMS 框架,加些系统广告,再用一下奥氏体 304,艺术化一下,简直完美.
    sockpuppet9527
        60
    sockpuppet9527  
       117 天前
    歪个楼,提到“原子”,有没有可能是把 mmu 改了一下,留了一些 unmap 的内存? 不走 mmu 的内存连续且好置换,也好回收?
    ZoteTheMighty
        61
    ZoteTheMighty  
       117 天前   ❤️ 15
    作为一个 android 开发表示,真的有些人在自己不懂的领域张口就来,android 一个应用程序可以有多个进程,进程又分为 5 个级别,像很多通知栏的常驻通知就是一个 Foreground 进程,优先级最高,所以很多软件要求常驻通知栏来实现保活,大部分毒瘤 app 都会有多个进程,MIUI 应该就是精细管理这些进程,优先保持前台进程不被杀死。 有些人听到 swap 这个关键词就原地高潮,哦,他懂了,可是又不完全懂,可是他还想发表下高论,这样。
    zpxshl
        62
    zpxshl  
       117 天前 via Android
    @ZoteTheMighty 61 扯啥呢,前台进程本来就比后台进程高优,这还需要 miui 优化?
    murmur
        63
    murmur  
       117 天前
    @zpxshl 不一定哦,现在一些游戏允许后台下载的,这个时候你要杀前台保后台
    ZoteTheMighty
        64
    ZoteTheMighty  
       117 天前
    @zpxshl 建议仔细看下, 关于怎么杀进程,杀哪个操作系统会有一套逻辑判断,MIUI 魔改这一部分一点都不奇怪,各家都有魔改过。https://developer.android.com/guide/components/activities/process-lifecycle?hl=zh-cn
    Unclev21x
        65
    Unclev21x  
       117 天前
    盖楼 60 多层。如果,我是说如果答案真如 @ZoteTheMighty 所说,那我觉得这个原子内存还是不错的,很实用。

    V2 现在不管什么问题,都流行冷嘲热讽互相喷吗?骂完苹果骂华为,骂完华为骂小米。骂完小米骂苹果。

    夸一个要拉另一个垫背,围魏救赵。

    看的真是累啊。
    Threeinchtime
        66
    Threeinchtime  
       117 天前
    感觉说 swap 的根本没看这个功能描述
    MrKrabs
        67
    MrKrabs  
       117 天前
    就改个杀进程那不是更 low 了(
    generic
        68
    generic  
       117 天前
    @tyzrj766 zram? android4 就可以开...
    ApmI00
        69
    ApmI00  
       117 天前
    扯这么多,买个来用用不就知道啦!!!非要像一群博士吵吵万米高空一滴水的动势能。。。
    tanranran
        70
    tanranran  
       117 天前
    楼上至少有 80%的人在那瞎扯,回复的内容和问题毫不相关,上来就是喷。
    kindjeff
        71
    kindjeff  
       117 天前 via Android
    我就想问问 miui 为啥不写文档?学习鸿蒙么
    liyhu
        72
    liyhu  
       117 天前
    在营销厂找技术?
    cairnechen
        73
    cairnechen  
       117 天前   ❤️ 2
    说实话,很难发现一个比 @murmur 更令人讨厌的人,所以我一般都是站在他的对立面,不过 @pengtdyd 你做到了,赏你一个 block 名额
    pengtdyd
        74
    pengtdyd  
       117 天前
    @cairnechen 啥是 block 名额?
    bigbigpeng3
        75
    bigbigpeng3  
       117 天前
    @pengtdyd 你被他屏蔽 /拉黑了。
    Lemeng
        76
    Lemeng  
       117 天前
    看很多人说是 swap,如果真是,那还挺有意思的
    newmlp
        77
    newmlp  
       117 天前
    这不就是 swap 吗,把不活跃内存交换到磁盘上
    newmlp
        78
    newmlp  
       117 天前
    @tyzrj766 虚拟内存还简单?
    WebKit
        79
    WebKit  
       117 天前 via Android
    @newmlp 并不是 swap
    Bigglesworth
        80
    Bigglesworth  
       117 天前
    @pengtdyd #47 还有个大吴,秀波
    wooody
        81
    wooody  
       117 天前
    大家都知道雷布斯喜欢把一些东西说的有逼格一点来吸引人,说这个功能对消费者而言是鸡肋的人的心态我是实在没想通。
    一个纯技术讨论帖,知道的就发表一下意见,不知道的就听听人家的高见,或者提供下思路。
    看了某人的历史发帖,不少自以为是的抖机灵,实际上对人家楼主 p 用没有,说真的我真想让 v 站发一个回复减 100 铜币。
    zhouxuchen
        82
    zhouxuchen  
       117 天前
    @wooody #81 被你一说我好奇点了这人主页,好家伙比太平洋都水
    newmlp
        83
    newmlp  
       117 天前
    @WebKit swap plus ,super swap,swap pro plus,原子内存。。。。。无非起个不一样的高大上的名字而已
    chenrui920614
        84
    chenrui920614  
       117 天前
    有些人看个名字就高潮了
    nicevar
        85
    nicevar  
       117 天前
    v 站现在的水平就是上面一堆人所反映的,这个东西我不懂,但它肯定是垃圾
    pengtdyd
        86
    pengtdyd  
       117 天前
    @bigbigpeng3 谢谢 么么哒
    0o0o0o0
        87
    0o0o0o0  
       117 天前   ❤️ 2
    这次更新更新了两个功能,一个是原子内存,一个是内存扩展,两个是不同的技术。

    内存扩展其实就是 swap,闪存当内存用。

    原子内存就是把每个应用的进程细分然后 kill 掉。

    其次还搞了睡眠机制,后台不应该运行的直接冷藏掉不给 cpu 资源,虽然占着内存但是不运行,之后手动点开才给计算资源。

    基本上能优化的都优化了,其实并不算什么创新,但是落实了就很好了。
    my101du
        88
    my101du  
       117 天前 via iPhone
    说实话 多年小米 /华为的安卓用户 我现在对这种越来越厉害和深入的魔改反而是怕了。不再窒息,感动,欢呼,发烧了。

    不停优化系统,甚至现在对 app 内部各种服务开刀。性能确实有感知上的提升。
    到万一那个被优化的功能正好是用户需要的呢?

    难道就不能在上架前审核阶段就提前设定一些门槛和要求?
    1018ji
        89
    1018ji  
       117 天前
    增强版温度下来了,感觉电池耐用了,但是性能不行了

    尴尬
    a22271001
        90
    a22271001  
       117 天前
    @my101du 太理想了,设定一定门槛 国内大厂许多 APP 不见得会配合
    murmur
        91
    murmur  
       117 天前
    @my101du 所谓的原子内存是针对性优化,估计很多人天天吹生产力吹生态吹的自己都信了,国人常用的应用就那么几个,qq 、支付宝、淘宝、京东、抖音、快手、头条、视频,游戏再优化个荣耀吃鸡,原神干不动,除了微信外估计大家都很愿意配合,白名单优化就可以了,手机和 app 互相优化本来就是很好的事情
    WebKit
        92
    WebKit  
       117 天前 via Android
    @newmlp 你玩儿过写轮眼吗?
    rrZ2C
        93
    rrZ2C  
       117 天前
    国内这些 XUI XOS 就别瞎扯内存不足杀后台了,我备用机就只有阅读应用和 youtube 用国产系统的时候从来留不住,刷了 PixelExperience 后阅读的页面在后台过夜第二天都能接着直接看
    systemcall
        94
    systemcall  
       116 天前
    不懂这方面的技术
    不知道能不能用 cgroup 来限制 ART 和孵化器的资源,来实现对不同 App 的资源隔离以及更加高效的资源分配
    但是毒瘤 App 很多是 IO 密集型,经常扫用户的各种文件。是不是还要加上 bcache ?
    再把 bcache 放在 tmpfs,tmpfs 里面的东西在内存不够的时候会 swap 到 swapfile,是不是就解决了这些问题?
    Cielsky
        95
    Cielsky  
       116 天前 via Android
    这真的是技术论坛吗?
    这么多人连百度一下(哦不,这里的人更喜欢 Google ),都不会,凭自己脑补个 swap 出来?

    至少听官方这样讲我感觉就和写轮眼差不太多,猜测一下,通过白名单杀掉一些非必要的服务进程。
    Cielsky
        96
    Cielsky  
       116 天前 via Android
    @a22271001 不需要 app 配合,大家常用的就那么几个软件,占资源最多的还是那么几个软件,直接白名单处理就基本上够了
    cp19890714
        97
    cp19890714  
       116 天前 via Android
    可能是对进程管理,也可能是对 activity 管理。
    说 swap 的人,可不可以先看下这个功能的说明,再来发表看法?
    ysy950803
        98
    ysy950803  
    OP
       116 天前 via Android
    @AoEiuV020 我已经升级这个增强版了,发现真的不杀后台了,而且剩余内存非常多。
    ysy950803
        99
    ysy950803  
    OP
       116 天前
    @tyzrj766 这么说如果简单实现的话,还是以四大组件为单位来杀。
    ysy950803
        100
    ysy950803  
    OP
       116 天前
    @yukiww233 不过升级之后杀后台的情况确实有所改善,效果明显。
    1  2  
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2728 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 11:51 · PVG 19:51 · LAX 03:51 · JFK 06:51
    ♥ Do have faith in what you're doing.