0

從使用Allocations工具來跟蹤我的應用程序的內存使用情況我注意到整個應用程序的運行時內存使用量不斷增加。通過查看heapshots,我可以看到最大的內存塊被庫GMM中的名爲CJPEGCreateImageDataWithData的方法分配。我在網上找不到任何有關這種情況的信息,但它看起來像是我的應用程序的內存佔用負責。下面是分配輸出的相關部分的截圖:CJPEGCreateImageDataWithData分配很多未發佈的內存

enter image description here

什麼可能是這個原因,我將如何避免呢?

+0

這是MKMapView緩存瓷磚。什麼是iOS版本安裝? – Jano

+0

我正在使用iPhone 4.0模擬器。目前我沒有設備來測試它。這是否意味着我無法對內存做任何事情? – benwad

回答

1

模擬器和設備由於多種因素而使用不同的內存量。 在iOS 4.2或更高版本上,MKMapView應該表現得足夠好。即使你看到內存急劇增加,請注意它是緩存內存,並且所有這些都不是MKMapView所需要的。唯一的問題是它可能會使您的應用程序更接近低內存警告。你可以模擬這個警告,看看你的應用程序是否存活。除此之外,您無法直接控制地圖緩存。如果您的應用沒有足夠的內存可用,請嘗試使用普通地圖,而不是衛星地圖。