在我的應用程序,我得到了用戶的朋友與以下:得到朋友的名字列表和ID快速
https://graph.facebook.com/me?fields=id,name&access_token=xxxx
上面實際上是由Facebook的Android SDK中完成的,所以我實際上是創建這樣的請求:
Bundle params = new Bundle();
params.putString("fields", "name,id");
asyncFacebookRunner.request("me/friends", params, "GET", listener, null);
我解析這樣JSON響應:
JSONObject data = Util.parseJson(response);
JSONArray friendsData = data.getJSONArray("data");
mDbAdapter.deleteAllFriends();
for (int i = 0; i < friendsData.length(); i++) {
JSONObject friend = friendsData.getJSONObject(i);
mDbAdapter.addFriend(friend.getString("name"),
friend.getString("id"));
}
Util類是Facebook Android SDK的一部分。
在我的帶有wifi的Android手機上,發送,檢索和解析響應需要大約15-20秒(我的帳戶大約有370個朋友)。我見過其他幾個應用程序在2秒內完成它。什麼讓我放慢腳步?
也許它由於連接速度。您可以使用線程加速更多,具體取決於可能的線程。或優化實施。 –
它比其他應用程序慢10到15倍,在相同的WiFi網絡上使用相同的手機。 – Tenfour04
然後優化該方法。你確定你正在做同樣的操作嗎?嘗試在ui上對不需要更新的處理進行線程化,或者在可能的情況下使用線程 –