2010-05-04 61 views
5

我一直在解決大量的內存泄漏,但在解決這個問題上一直沒有成功。由於[NSCFString substringWithRange:],有大量的NSCF內存泄漏。我一直在檢查所有的String分配,並在適當的位置釋放了所有的分配。負責任的圖書館:基金會。NSCFString內存泄漏

有沒有人遇到過這個問題?任何人都可以建議我如何應對這個問題?

感謝,

Lakshmie

+2

在什麼情況下發生這種情況?你有代碼樣本來重現它嗎? – 2010-05-05 00:03:09

+0

我的不好!我解決了這個問題。但是General Block-3584有一處泄漏。我知道,據報道,這個塊是泄漏的,並且是該框架中的一個錯誤。但我只是想知道CTFont是否是框架中的漏洞之一。 CTFont - > UIKit(負責任的圖書館)。 謝謝! – Lakshmie 2010-05-05 01:01:41

+0

一般Block-3584只是一個3584字節的malloc。它本身不是任何框架的組成部分。 無論如何,從網絡上的信息來看,它似乎是一個CFNetwork問題,它並不完全清楚它是一個泄漏 - 只是泄漏工具*認爲它是泄漏。 無論如何,這可能不是你的錯,你可以忽略它。 – 2010-05-05 04:41:51

回答

3

通用塊3584只是指3584個字節的malloc。它本身不是任何框架的組成部分。無論如何,從網絡上的信息來看,這似乎是一個CFNetwork問題,並不完全清楚它是一個泄漏 - 只是泄漏工具認爲它是泄漏。無論如何,這可能不是你的錯,你可以忽略它。 - Matt

1

使用NSString的類方法,比如[NSString stringWithString:@「hi」]將會泄漏,因爲內存永遠不會被分配 - 你沒有在那裏看到一個alloc,你呢?正確的方法是:

NSString *temp = [[NSString alloc] initWithString:@"hi"]; 
myIvarProperty = temp; 
[temp release]; 
+0

這根本不是正確的方法。我認爲你的意思是'self.myIvarProperty',否則'myIvarProperty'會引用你不擁有的東西。 – dreamlax 2011-01-11 02:33:07

+0

很好的答案,但我想知道爲什麼? – why 2013-03-04 09:03:56