据我所知,有2级记忆警告. applicationDidReceiveMemoryWarning没有警告级别.有没有办法获得这些信息?
解决方法
我把它作为一个单独的答案而不是我的另一个,因为它是一个单独的答案.我之前给出的答案是实用的,你应该使用的那个.它归结为“处理一个级别的内存警告,告知您,并且不关心细节”.
但是,如果您真的想了解更多信息,请查看此未记录的API:http://www.opensource.apple.com/source/Libc/Libc-594.1.4/include/libkern/OSMemoryNotification.h
这是生成内存警告的内核代码的标头,它声明了以下typedef:
typedef enum { OSMemoryNotificationLevelAny = -1,OSMemoryNotificationLevelNormal = 0,OSMemoryNotificationLevelWarning = 1,OSMemoryNotificationLevelUrgent = 2,OSMemoryNotificationLevelCritical = 3 } OSMemoryNotificationLevel;
我们显然没有使用密钥方法(OSMemoryNotificationCurrentLevel())来实现数学,以说明要返回哪个警告,但这是可能的返回值列表.
您可以使用Mach.h库来测试设备上的实际内存级别(让我知道您是否需要一些代码来执行此操作),然后使用OSMemoryNotificationCurrentLevel()来获取当前内存级别的警告,并真正映射出来通知级别到机器的物理状态.这样的应用程序在应用程序商店中是完全不受欢迎的,它在实际开发中不会真正帮助你,你的工作就是响应你收到的单级低内存警告.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。