为了账号安全,请及时绑定邮箱和手机立即绑定

iPhone OS内存警告。不同级别意味着什么?

iPhone OS内存警告。不同级别意味着什么?

iOS
智慧大石 2019-09-19 10:51:07
关于在iPhone OS设备上管理内存的黑色艺术:不同级别的内存警告意味着什么。1级?2级?拨号盘是11吗?背景:经过大量的内存压力测试期 - 包括在播放iPod音乐播放器应用程序时运行我的iPad应用程序,我倾向于忽略我收到的随机但不常见的内存警告。我的应用程序永远不会崩溃。永远。我的应用程序是无泄漏的。而且,mems警告似乎并不重要。谢谢,道格
查看完整描述

3 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

SpringBoard记录内存级别警告。作为应用程序开发人员,您无需关心它。只是回应-{application}didReceiveMemoryWarning就足够了。


有4个级别的警告(0到3)。这些是从内核内存观察器设置的,可以通过不那么公共的功能获得OSMemoryNotificationCurrentLevel()

typedef enum {
    OSMemoryNotificationLevelAny      = -1,
    OSMemoryNotificationLevelNormal   =  0,
    OSMemoryNotificationLevelWarning  =  1,
    OSMemoryNotificationLevelUrgent   =  2,
    OSMemoryNotificationLevelCritical =  3} 
    OSMemoryNotificationLevel;

未记录如何触发级别。SpringBoard配置为在每个内存级别执行以下操作:

  1. 警告(非正常) - 重新启动或延迟自动重启非必要的后台应用程序,例如Mail。

  2. 紧急 - 退出所有后台应用程序,例如Safari和iPod。

  3. 关键和超越 - 内核将接管,可能会杀死SpringBoard甚至重启。

杀死活动应用程序(jetsam)不是由SpringBoard处理,而是launchd


查看完整回答
反对 回复 2019-09-19
  • 3 回答
  • 0 关注
  • 498 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信