猿问

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

关于在iPhone OS设备上管理内存的黑色艺术:不同级别的内存警告意味着什么。1级?2级?拨号盘是11吗?

背景:经过大量的内存压力测试期 - 包括在播放iPod音乐播放器应用程序时运行我的iPad应用程序,我倾向于忽略我收到的随机但不常见的内存警告。我的应用程序永远不会崩溃。永远。我的应用程序是无泄漏的。而且,mems警告似乎并不重要。

谢谢,
道格


智慧大石
浏览 532回答 3
3回答

哔哔one

SpringBoard记录内存级别警告。作为应用程序开发人员,您无需关心它。只是回应-{application}didReceiveMemoryWarning就足够了。有4个级别的警告(0到3)。这些是从内核内存观察器设置的,可以通过不那么公共的功能获得OSMemoryNotificationCurrentLevel()。typedef enum {     OSMemoryNotificationLevelAny      = -1,     OSMemoryNotificationLevelNormal   =  0,     OSMemoryNotificationLevelWarning  =  1,     OSMemoryNotificationLevelUrgent   =  2,     OSMemoryNotificationLevelCritical =  3}      OSMemoryNotificationLevel;未记录如何触发级别。SpringBoard配置为在每个内存级别执行以下操作:警告(非正常) - 重新启动或延迟自动重启非必要的后台应用程序,例如Mail。紧急 - 退出所有后台应用程序,例如Safari和iPod。关键和超越 - 内核将接管,可能会杀死SpringBoard甚至重启。杀死活动应用程序(jetsam)不是由SpringBoard处理,而是launchd。
随时随地看视频慕课网APP

相关分类

iOS
我要回答