所以我基本上从 Facebook API 教程中复制/粘贴了这段代码,但是当我运行它时,调用 onCompleted() 可能需要超过 45(!)秒,这显然是完全不可接受的。这种情况已经持续了几个星期,我一直在推迟它,但现在我需要修复它。如果有人对我可能做错了什么有任何想法,请帮忙!
编辑:所以经过更多调查后发现,这需要的时间可能会有很大差异。我已经花了一分钟多的时间,而我花了不到 10 秒的时间。我运行它的时间似乎越来越少,这可能只是侥幸。我还更新了最新的 Facebook SDK,但这似乎并没有改变任何东西。
Session.openActiveSession( this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception)
{
if( session != null && session.isOpened() )
{
// make request to the /me API
Request request = Request.newMeRequest( session,
new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response)
{
// 30 - 45 seconds to get here!
}
}
);
Request.executeBatchAsync(request);
}
}
});