苹果手机的后台代码,苹果手机后台运行原理

首页 > 实用技巧 > 作者:YD1662023-05-14 20:33:55

iPhone到底要不要关闭后台程序?这问题到现在还是众多纷纭,一方认为不关闭后台会造成耗电卡顿;另一派认为iPhone不需要关闭后台app,不关闭后台app不会造成iPhone耗电,反而会经常关闭后台app才会更加耗电!

苹果手机的后台代码,苹果手机后台运行原理(1)

那到底是经常关闭 后台App 会不会导致耗电还是省电?这篇直接告诉大家正确答案

iOS 后台运作原理

这问题过去就有外媒写信问过库克,最后也没有获得明确答案,那时苹果公司软体工程进阶副总裁Craig Federighi只有稍微回应「关闭后台是否会让设备变得更省电」

iPhone 导致耗电,多少都会跟后台有点关系,稍微说明iOS 程序的寿命周期

苹果手机的后台代码,苹果手机后台运行原理(2)

Not running(未运行):程序没启动

Inactive(未激活):程序在前台运行,不过没有接收到事件。在没有事件处理情况下程序通常停留在这个状态

Active(激活):程序在前台运行而且接收到了事件。这也是前台的一个正常的模式

Backgroud(后台):程序在后台而且能执行代码,大多数程序进入这个后台后会在在这个状态上停留一会。时间到之后会进入挂起状态(Suspended)。有的程序经过特殊的请求后可以长期处于Backgroud状态

Suspended(挂起):程序在后台不能执行代码。系统会自动把程序变成这个状态而且不会发出通知。当挂起时,程序还是停留在内存中的,当系统内存低时,系统就把挂起的程序清除掉,为前台程序提供更多的内存

看一下iPhone运行内存状态

图一是刚开机后的内存分布状态

图二是正常使用将近一周,没有刻意关闭后台程序的内存分布状态

苹果手机的后台代码,苹果手机后台运行原理(3)

可以看出总内存空间4GB(将近)

刚重启后空闲的的空间仅为600MB,而运行了一周的空闲空间为100MB左右

iOS 系统运行内存总是占满90%以上,仅会剩余1xx MB,在这种情况下,就算开启再多App 不从后台关闭,都不会出现类似Windows 或Android 延迟卡顿情况,主因是iOS 在后台运行内存控管相当优秀,用户完全不需要手动释放运行内存,更不需要随时注意空闲记忆体剩余多少,iOS 会自动释放久未执行的App

苹果手机的后台代码,苹果手机后台运行原理(4)

首页 12下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.