我用我的应用程序(特别是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