Quelle est la différence entre libérer et autoreleasing?

J'ai encore un peu floues comprendre au sujet de la libération et de l'autorelease. Quelles sont les différence entre les deux? J'ai ce code. Pour facebook connexion. Je crash parfois, quand je vais sur Facebook login, je doutant peut-être que c'est parce que je ne relâchez pas l'objet de bien.? Merci pour toute aide

if (_session.isConnected) {
        [_session logout];
    } else {
        FBLoginDialog* dialog = [[[FBLoginDialog alloc] initWithSession:_session] autorelease];
        [dialog show];
    }

source d'informationauteur Rocker