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

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

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

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

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

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

    另外聊聊,9012 年,iPhone8 2g 内存,使用体验如何。会不会像当年的 iPhone6,因为内存不够,听歌,微信,刷新闻,三者不能并存。 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   ·   实用小工具   ·   939 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 22:13 · PVG 06:13 · LAX 14:13 · JFK 17:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.