我用我的應用程序(特別是https://github.com/jazzychad/CEPubnub)外部庫,我遇到一個內存管理問題。在「CEPubnub」對象初始化之後,必須訂閱用於接收更新的頻道。因此,我最後寫了下面的代碼:Pubnub內存管理問題
self.pubnub = [[[CEPubnub alloc]
publishKey:@"..."
subscribeKey:@"..."
secretKey:@"..."
sslOn:NO
origin:@"pubsub.pubnub.com"] autorelease];
//Set the channel for this holler
[self setPubnubChannel:[[[NSMutableString alloc] initWithString:@"channelprefix_"] autorelease]];
[pubnubChannel appendString:[event eventId]];
NSLog(@"Subscribing to the pubnubChannel: %@", (NSString *)[[pubnubChannel copy] autorelease]);
每當我結束了運行該應用程序並加載認爲,這就是所謂的,退出的觀點,再重新裝回,我終於最終導致記憶泄漏和第二行代碼被突出顯示爲問題的根源(通過我的泄漏工具)。
當運行分析,同時也突出的第二行代碼,但表示「電位上[線1]分配對象的泄漏」,就好像所述第一線的問題。在我的viewDidUnload方法和dealloc方法中,我確保釋放pubnub屬性,但它似乎仍然泄漏,我感到目瞪口呆。關於我應該做什麼的任何想法?
我CEPubNub的作者。如果沒有看到該類的其餘代碼(頭文件,上面代碼片段中的代碼,至少init函數和dealloc函數),將很難確切地知道發生了什麼。 'pubnub'是一個實例變量嗎?它是合成的嗎?樂於幫助,但首先需要更多信息。 – 2011-07-30 18:17:21