我已經使用Allocations描述了我的一個應用程序,並發現無論何時我調用特定方法,我的「實時字節數」增加了300 KB。我不知道可能是什麼原因造成的。iOS - 什麼是分配泄漏?
下面的代碼行是罪魁禍首:
CNTile *newTile = [self getTileAtPosition:3];
相關的方法,內容是這樣的:
- (CNTile *)getTileAtPosition:(int)pos
{
CNTile *tileToReturn;
for (int x = 0; x < [row count]; x++)
{
for (int y = 0; y < [col count]; y++)
{
The code here generates four CGPoints and a CGMutablePathRef,
then uses CGPathContainsPoint to determine which CNTile to return.
}
}
return tileToReturn;
}
我要指出,我CNTile
類僅包含UIView
和UIImageView
,以及作爲一些簡單的變量(如int
s和BOOL
s)。
任何幫助將不勝感激!
我認爲這不是一個問題,有您的Live字節增大(當然,合理的措施),只要他們正確釋放之後。例如,如果在加載ViewController時實時字節數增加,如果您離開此ViewController並返回它,您應該看到相同數量的活動字節(例如,之前爲50KB,加載時爲300KB,當您當你回來時離開,回到300KB)。 **不是100%肯定這一點,但這就是我記得我的分析經驗。** – rdurand
請發佈內部「for」循環的代碼 - 這是關鍵區域。此外,活動字節的數量在一段時間後保持不變,還是會回落? – Stavash