我的应用程序可能消耗数十MB的内存,在极少数情况下它会达到100MB。我是否需要担心内存警告并实施didReceiveMemoryWarning()
?我需要多长时间才能释放内存? (我需要将内存中的数据保存到硬盘中。)
假设我在iPhone 5之后定位设备。
首先,这里讨论来自didReceiveMemoryWarning
的方法Apple docs。
讨论
您的应用从不直接调用此方法。而是在系统确定可用内存量较低时调用此方法。您可以覆盖此方法以释放视图控制器使用的任何其他内存。如果这样做,那么此方法的实现必须在某个时刻调用超级实现。
根据这个reddit线程,即使您处理此事件,您的应用程序仍然可以终止,以便为正在运行的应用程序提供空间。此外,通常,设备上的所有应用程序的didReceiveMemoryWarning
都会被调用,而不仅仅是你的。
我希望这个答案没问题,因为这似乎只是引用文档的评论:)