我有內存泄漏問題,我使用保存的陣列到一個文件:NSKeyedUnarchiver造成內存泄漏
[NSKeyedArchiver archiveRootObject:myArray toFile:MyFile];
的對象包括到所述陣列具有以下方法:
- (id)initWithCoder:(NSCoder *)coder
{
[super init];
parameter1 = [[coder decodeObject] retain];
parameter2 = [[coder decodeObject] retain];
parameter3 = [[coder decodeObject] retain];
return self;
}
- (void)encodeWithCoder:(NSCoder *)coder
{
[coder encodeObject:parameter1];
[coder encodeObject:parameter2];
[coder encodeObject:parameter3];
}
解開我正在使用的對象:
myUnarchivedArray = [NSKeyedUnarchiver unarchiveObjectWithFile:myFile];
應用程序突然崩潰,因爲可用的內存ory不足以繼續。
我無法取消分配myUnarchivedArray,並且Intruments工具告訴我unarchiver導致內存泄漏。
我已經搜索不到太多,我只是找到了內存泄漏的原因,但我跳地發現,已經通過了同樣的問題,有一個尖來解決它的人。:)
謝謝!! 安娜
這些物體有多大? – mahboudz 2009-11-06 22:54:19
32個字節的aprox,但它們在數組內的數量是可變的。 – 2009-11-06 22:59:09
您正在編碼/解碼自定義類型的對象?如果是這樣,請查看他們的編碼/解碼方法。 – nall 2009-11-06 22:59:46