1

したがって、何が起こっているかを記入する最良の方法は、おそらくこれを表示することです

http://img.photobucket.com/albums/v246/homojedi/Screenshot2012-07-24at135229.png

不思議なことに、これはFacebook ios SDKがこのSBJsonパーサーのものすべてを呼び出しているので、私はこれを手に入れていません。私のアプリがメモリ警告を持っていると言ったためにメモリリークテストを行うまで、その存在の手がかりがなかったからです。レベル1または2。

私がほとんどのコードをこれだけに減らしている間、あなたは困惑しているかもしれないので、あなたはいくつかのコードが欲しいかもしれません、そしてそれはまだ起こるようです

-(void)OnLoad
{
_permissions = [[NSArray arrayWithObjects:@"read_stream", @"publish_stream", nil] retain];

if( _facebook == nil )
{
    _facebook = [[Facebook alloc] initWithAppId:@"359953307393080" andDelegate:self];
}

[self CheckForPreviousAccessToken];

if(_isConnected)
{
    [_facebook requestWithGraphPath:@"me" andDelegate:self];
    [_facebook requestWithGraphPath:@"me/friends?fields=installed" andDelegate:self];
    [_facebook requestWithGraphPath:@"me/friends" andDelegate:self];

}
}

- (BOOL) CheckForPreviousAccessToken
{
_isConnected = NO;

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if( [defaults objectForKey:@"FBAccessTokenKey"] && [defaults objectForKey:@"FBExpirationDateKey"] )
{
    _facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
    _facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];

    if(![_facebook isSessionValid])
    {
        [_facebook authorize:nil];
        _isConnected = NO;
    }
    else 
    {
        _isConnected = YES;
    }
}


return _isConnected;
}

誰もがこれらの多数のリークを引き起こしている原因について何か考えがありますか?

乾杯

4

1 に答える 1

0

魔法や魔法のおかげで、この小さな問題は存在しなくなりました。最も奇妙なことは、私が明示的に修正しようとしなかったことです...私は一般的なリークパッチをいくつか行っていたので、今のようにかなり大量にリークしていたに違いありませんリーク計測器が表示されなくなりました... 申し訳ありませんが、より多くの機能を統合する代わりに、リークをそのままにしておくのではなく、すぐにリークを修正する必要がありました。

于 2012-11-20T08:40:12.060 に答える