2010-08-20 95 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