我檢查過使用儀器,沒有發現任何內存泄漏。 當我檢查設備它顯示內存泄漏與負責任的調用者 - [NSKeyedUnarchiver decodeObjectForKey:]和對象是UIRoundedRectButton。設備中的內存泄漏不在模擬器中
我還沒有使用NSKeyedUnarchiver或任何類型的解碼。是下面的代碼,是負責這個內存泄漏?
- (void)saveToFile:(NSString *)pinStr
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *path = [documentsDirectoryPath stringByAppendingPathComponent:@"smsbrain.plist"];
NSMutableDictionary *data = [[NSMutableDictionary alloc] init];
[data setObject:@"User" forKey:@"username"];
[data setObject:@"password" forKey:@"password"];
[data setObject:pinStr forKey:@"pin"];
[data writeToFile:path atomically:YES];
[data release];
}
,或者有通過互聯網&還檢查計算器一些文章,但沒有找到任何更好的解決方案。
我沒有在dealloc方法中將viewout設置爲。它是否會產生任何問題?
我的應用程序在發生泄漏時隱藏背景。並在控制檯上我得到警告「內存級別不正常(20%)」
那麼,如何處理tableviewcontroller的背景隱形問題。它在模擬器上工作正常。但是有時會隱藏背景的設備有什麼問題。
請幫我...
hi tonclon,問題在於IBoutlet。我已經發布了每個IBoutlet的屬性,但忘了將它們設置爲零。這個鏈接幫我最終從問題中解脫出來http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmNibObjects.html#//apple_ref/doc/uid/TP40004998-SW2 – 2010-07-27 11:25:24
IBOutlet的最佳實踐是釋放它們並在dealloc方法中設置nil。並在viewDidUnload方法中設置self。 = nil。最後,應用程序在設備上運行時性能良好此外,使用儀器的設備上也沒有內存泄漏。將屬性設置爲零是我的問題的最終解決方案。 –
2010-07-27 11:28:54