2013-10-08 60 views
2

在我的iPhone應用程序中,利用ARC推動某些視圖控制器會導致大量內存分配,而這些內存分配並未發佈。大多數現場字節的有頭VM:CoreAnimationARC動畫內存問題

enter image description here

我已經嘗試了各種包裝代碼段,如推視圖控制器,具有@autoreleasepool {},但它並沒有任何區別。將視圖控制器設置爲零後,不再需要它們也無濟於事。

我們將非常感謝您的幫助和建議!

UPDATE

我意識到,存儲器分配的定時正值與CorePlot圖表從表視圖被推的詳細視圖。詳細視圖也在表格視圖的頭文件中被引用。一個問題是我將詳細視圖設置爲零,然後在推送之前重新分配它。如果我只是在第一次加載表視圖時啓動一次細節視圖,然後在每次推動之前刷新它的內容,則內存分配只會發生一次。

但是,我還沒有能夠完全解決這個問題,因爲當首次推送詳細視圖時,仍然存在大量的內存分配,這從未被釋放。

+0

...你生成一個循環圖形上下文? – holex

回答

0

我發現內存問題是由於創建新的Core-Plot圖表而導致的,這些圖表在我試圖釋放內存時沒有釋放內存。

我設法使用此功能來提高性能,當我嘗試取消分配的圖表:

[圖removePlot:劇情]

這已經足以顯着改善這種情況,儘管我仍在努力獲得100%的內存釋放。從閱讀看來我不是都遇到過這樣的問題只有一個核心情節論壇...

https://groups.google.com/forum/#!searchin/coreplot-discuss/memory/coreplot-discuss/nWui9VjnMtQ/er2FO3o9syYJ

1

也許你正在使用CoreGraphics框架來繪製視圖的東西,但是你並沒有發佈coreGraphics對象。 CoreGraphics對象不是由ARC發佈的,它必須手動保留/釋放。

+0

感謝您的建議,我調查了但它不是問題的根源 – Spinoxa