即使我剩下大约80 MB的RAM,也会触发applicationDidReceiveMemoryWarning的虚假调用

我有一个计时器重复1秒后NSLog-ed剩余的内存。 它只是打印剩余的内存。

运行时需求应用程序最大大约为20 MB。 日志显示可用内存90 MB +当我启动应用程序。

有一个TabBar,其中一个Tabs是有一个Google Mapkit的地图。 一旦应用程序进入工作状态,RAM – 80 MB。

当我滚动放大的地图时 – BOOM! “applicationDidReceiveMemoryWarning”logging器仍然显示75-80 MB左右的空闲内存计数器。

这导致我的其他视图数据被释放。

不pipe怎么样,即使内存是可用的,当应用程序不崩溃..平移在地图急剧减less内存从70-80 MB的3-4 MB。 有了这种情况下,如果应用程序要求内存 – 让我们说一个捕获的图像 – BOOM再次! “applicationDidReceiveMemoryWarning”

任何人都经历过这之前? 任何有用的意见..?

如果您还没有体验过这一点 – 只需在苹果的天气地图示例应用程序或手机上的本地地图应用程序尝试一下! – 当我们平移放大的地图时,看地图如何消耗运行内存… !!

问候,

山姆·费雪

这就是它应该如何工作。 记忆在那里被使用。 任何被使用的东西都被浪费掉了。 只要你没有内存泄漏,你正在卸载/重新加载视图和caching,这里没有问题。