通过使用Allocations工具跟踪我的应用程序的内存使用情况,我注意到在应用程序的整个运行时间内,内存使用率不断上升。通过查看快照,我可以看到最大的内存块是由库GMM中的一个名为CJPEGCreateImageDataWithData的方法分配的。我无法在网上找到关于这种情况的任何信息,但看起来这肯定是我应用程序内存占用的原因。以下是Allocations输出相关部分的屏幕截图:
这可能是什么原因,我该如何避免呢?
答案 0 :(得分:1)
由于多种因素,模拟器和设备使用不同的内存量。 在iOS 4.2或更高版本上,MKMapView应该表现得足够好。即使你看到内存增加很多,也要注意它是缓存内存,而且MKMapView不需要它。唯一的问题是它可能会使您的应用程序更接近低内存警告。您可以模拟此警告,看看您的应用是否存在。除此之外,您无法直接控制地图缓存。如果您的应用程序没有足够的内存,请尝试使用法线贴图而不是卫星贴图。