聊聊 iPhone 的内存和杀后台策略 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xace
V2EX    iPhone

聊聊 iPhone 的内存和杀后台策略

  •  
  •   xace 2019-01-16 11:37:38 +08:00 19493 次点击
    这是一个创建于 2539 天前的主题,其中的信息可能已经有所发展或是发生改变。

    上一次用 iPhone 是 iPhone6,之后用了几年 Android,刚换上了 xs。

    发现了一个现象,打开多个 app 切换时,有的 app 已经被杀,需要重新打开。但是但是但是,有些更早的 app,仍保留在之前页面(切换秒开,进入上次浏览的页面)

    ios 杀后台,到底是的啥策略。还是说除了系统控制,也和 app 有关。例如网银 app,强制切换后也需要重新验证登录?

    另外聊聊,9012 年,iPhone8 2g 内存,使用体验如何。会不会像当年的 iPone6,因为内存不够,听歌,微信,刷新闻,三者不能并存。 xs 使用体验觉得太沉,三星 s8 155g,到 xs 177g 的跨度。但除了 xs,就只有 2g 内存的 7 8 了。

    25 条回复    2019-01-17 18:50:15 +08:00
    youngpier
        1
    youngpier  
       2019-01-16 11:41:13 +08:00 via iPhone
    网银 app 是自己做的超时限制吧……
    illl
        2
    illl  
       2019-01-16 11:45:20 +08:00 via iPhone
    招商银行默认 5 分钟,在设置中可以看到。6s 可以感觉 在杀内存,不过影响不大偶尔会 点恼火。
    xace
        3
    xace  
    OP
       2019-01-16 11:46:59 +08:00
    @youngpier 网银超时用户可以理解。怀着恶意的想,有些 app,故意让用户多看开屏广告,首页广告,选择“超时自杀”,是否可行?

    请懂 ios 开发的同学讲讲~
    Zero24
        4
    Zero24  
       2019-01-16 11:47:08 +08:00
    有些应用会后台默默的播放空白的音频来保持应用常驻。
    xace
        5
    xace  
    OP
       2019-01-16 11:51:44 +08:00
    @Zero24 ios 的 app,也能这么玩吗。不是说 ios 上 app 相对都比较老实吗 T_T
    ThirdFlame
        6
    ThirdFlame  
       2019-01-16 11:58:35 +08:00
    我觉得 也和 APP 自身机制有关 。 比如有个看漫画的 app,看缩略图 还在漫画页,但是点击去进首页了(还有首屏广告),时间短的话 能回到漫画页。
    但是其他更久远的 app 还能恢复到原来的状态。
    所以说不仅是操作系统的问题,还有 app 自身问题。
    finab
        7
    finab  
       2019-01-16 12:07:39 +08:00   2
    一直保留的 APP 是因为内存控制做的好,当系统内存不够时,主动释放掉自己占用的大部分内存
    这种良民可以活的很久
    另一部分应用没有这些机制,用了多少占着不放,这种被系统杀头的几率很大

    播放空白音频会在锁屏界面很醒目的显示,这种做法很不妥,下架了多划不来
    liaixiao
        8
    liaixiao  
       2019-01-16 12:21:39 +08:00 via Android
    楼上终结
    superlks
        9
    superlks  
       2019-01-16 12:58:13 +08:00 via iPhone
    说的就是微博这个辣鸡,开屏广告贼长,经常切到后台就重新加载
    passerbytiny
        10
    passerbytiny  
       2019-01-16 13:00:41 +08:00
    ios 后台只是不运行(进程暂停),但不杀。应用前后台切换只影响 CPU (计算资源),不影响内存(存储资源)。在内存无限大的假设下,任何 APP 从后台到前台都能无缝连接之前的状态,不需要重新打开。

    但是内存不是无限大的,所以还有额外的内存清理机制,此时被点名的应用,就会被直接杀掉了。即使不考虑应用被杀的问题,从后台切换到前台也是一个很有意义的事件,有必要提供事件响应。

    应用切换到前台后重新打开,应该也就这俩原因了:内存占用太大;应用主动重新打开。
    xenme
        11
    xenme  
       2019-01-16 13:03:24 +08:00 via iPhone
    @passerbytiny 有些进程需要继续运行比如音乐、地图啥的。
    benjix
        12
    benjix  
       2019-01-16 13:15:26 +08:00 via iPhone
    @finab #6 联通的手机营业厅就会在后台播放空白音频,只要打开联通手机营业厅音乐就会停,这个能举报不
    passerbytiny
        13
    passerbytiny  
       2019-01-16 13:56:06 +08:00
    @benjix 能举报,能不能处理就不一定了。
    @xenme 音乐的播放是系统的,应用只是接受播放进度变更等事件,而且需要开启申请后台权限。地图同理,位置服务是系统的,应用接受位置变更事件。这两个是后台运行的应用,跟该主题的仅前台运行应用的前后台切换,不是一回事。
    xenme
        14
    xenme  
       2019-01-16 14:04:19 +08:00 via iPhone
    @passerbytiny 地图导航的时候需要一直语音播报和进行路线规划,所以应该是正常在后台运行,并没有暂停,一定会占用大量内存的。

    音乐不是特别确定,更新歌词,喜欢不喜欢(收藏),下一首等等应该还是需要在后台运行占用内存的。


    为什么我这样确定呢,因为去年等 xs 首发前用了几天 iPhone6P。百度地图和网易云音乐两个都没法共存,内存不足。在后台的经常被杀后直接退出了。
    xace
        15
    xace  
    OP
       2019-01-16 14:21:21 +08:00
    感谢楼上各位大佬,前后台切换问题明白了。

    谁有切身体验,聊聊 iPhone7 或 8 2G 内存,下面需要三个 app 并存场景,会不会被杀。
    比如 导航 /游戏 + 音乐 + 微信 /QQ/IM 共存,会不会来消息,切换微信,看月球界面,进微信,然后歌没了或者游戏被杀。
    我确定 15 年,iPhone6 1G,三 app 共存,必有一被杀。
    titanium98118
        16
    titanium98118  
       2019-01-16 15:28:03 +08:00
    手持 se,没记错应该也是 2g ram,但不玩游戏,不听音乐,帮不了你了.
    BlackRem
        17
    BlackRem  
       2019-01-16 16:10:36 +08:00
    @xace ip7。。导航,听音乐,微信。qq 可共存
    mickkk
        18
    mickkk  
       2019-01-16 16:36:22 +08:00 via iPhone
    xr 只要拍个照,大概率就所有后台都被杀了。app 图标还经常出现正在清理,清理完后台也杀完了,但是硬盘用了都没到一半,不知道在清理啥。
    daozhihun
        19
    daozhihun  
       2019-01-16 16:39:36 +08:00 via Android
    @mickkk 我的 XR 也是!经常不拍照也杀一堆后台,尤其是 excel,看到一半出去用用别的,回来已经被杀了!
    CommandZi
        20
    CommandZi  
       2019-01-16 17:17:11 +08:00
    内存占用大的杀的优先级高。内存占用大的原因里,内存泄漏的可能性大
    judeng
        21
    judeng  
       2019-01-16 19:13:34 +08:00
    参考 linux 的 OOM 机制,并不是时间久的优先被杀,还可能是内存使用多的呀
    theolin
        22
    theolin  
       2019-01-16 21:54:10 +08:00
    微博这种特别容易被杀。不知道它怎么做的。
    Felix2Yu
        23
    Felix2Yu  
       2019-01-17 09:42:40 +08:00
    有的应用切到多任务卡片界面再点回来就死了,有的应用能在后台放着,重度使用 2 天后打开还活着。
    yyyle
        24
    yyyle  
       2019-01-17 14:39:04 +08:00
    系统判断你常用的 app 会保留久一点
    canxden
        25
    canxden  
       2019-01-17 18:50:15 +08:00
    1. 你所见到的广告页, 都是 APP 启动后自己跳转的页面, 启动页是静态页, APP 第一次启动后只生成一次 以后启动都展示这个第一次生成时的页面. 所以如果想要, 可以每次切回来都给你播放广告. 包括当前 APP 锁屏然后解锁. 都不用切到后台.因为实际上做的是跳转到某个特定页.而不是触发了 APP 启动.
    2. 仍停留某页面, 可能只是 APP 自己跳转到你上次记录最后使用的页面. 造成没有被杀死的假象.
    3. 占用后台常驻功能, 可以防止 APP 被杀死, 包括且不限于: 定位, 播放歌曲, 后台下载.....等
    4. 杀死 APP 看的是系统剩余内存. 所以你可能开着微信视频通话, 然后打开系统相机, 微信就可能被杀死了. 原因在于条件 3 被中断.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5480 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 06:06 PVG 14:06 LAX 22:06 JFK 01:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86