什么是记忆警告,我们如何回应它

时间:2011-04-19 04:10:58

标签: iphone objective-c

  

可能重复:
  iPhone OS Memory Warnings. What Do The Different Levels Mean?

什么是记忆警告,我们如何回应

1 个答案:

答案 0 :(得分:5)

检查这个问题

iPhone OS Memory Warnings. What Do The Different Levels Mean? 检查肯尼的回答

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

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

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

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

  1. 警告(非正常) - 重新启动或延迟非必要背景应用的自动重新启动,例如邮件。
  2. 紧急 - 退出所有后台应用,例如Safari和iPod。
  3. 关键和超越 - 内核将接管,可能会杀死SpringBoard甚至重启。
  4. 杀死活动应用程序(jetsam)不是由SpringBoard处理,而是启动。

    <强>更新

    请浏览Memory Management上的Apple参考文档