2010-08-20 99 views
0

这是我第一次在这里发表问题。通常情况下,我在网上找到了帮助我解决Iphone项目问题的帮助,但是在这里我真的很沮丧!fbconnect注销内存泄漏

我使用facebook iphone-sdk在用户的墙上张贴一些信息。一切正常。但是当我用fbconnect登录按钮注销时,我有一个泄漏内存。

这是我在实现文件中用于测试的代码:

- (void)viewDidLoad { 

    //session facebook 
    session = [[FBSession sessionForApplication:@"APP_KEY" 
               secret:@"SECRET_KEY" 
               delegate:self] retain]; 


    //facebook bouton connect 
    FBLoginButton *logButton = [[[FBLoginButton alloc] init] autorelease]; 
    [self.view addSubview:logButton]; 

    [super viewDidLoad]; 
} 


- (void) session:(FBSession *) session didLogin:(FBUID) uid { 
    NSLog(@"login ok"); 
} 

- (void)sessionDidLogout:(FBSession*) session { 
    NSLog(@"didLogOut called"); 
} 

,你看,我什么也没做。所以,当我测试这个应用程序时,我把连接按钮推到了buton,而且我登录没有问题。 但是,当我按下相同的按钮,现在标注为注销,我注销,然后就出现内存泄漏。

在仪器中,我可以找到问题的来源,并且它接受它是FBSession.m文件中导致此泄漏的注销方法。特别是当从注销方法调用unsave方法时,因为如果我评论调用,内存泄漏不会出现。

所以我需要帮助找出是什么原因造成的。

+0

不确定会话对象......也许你应该在viewDidUnload和dealloc中释放它(你可能已经这样做了)。你泄露了多少内存和什么对象?另外,如果它只是几个字节并且可以工作,我就不会打扰调试FB API :-) – Eiko 2010-08-20 13:25:36

+0

如何调用会话来注销?哪种方法是无效的? – vodkhang 2010-08-20 13:28:25

回答

0

我是一个新手,但确实把顶部的[超级viewDidLoad]而不是底部的帮助?我们将会话信息添加到视图中,并且我们希望在加载所有父类视图后添加它们。

+0

是的,viewDidLoad应该放在首位,但我不认为这可能会导致问题。 – vodkhang 2010-08-20 14:10:53