Интеграция Facebook с приложением iPhone - проблема с производительностью при использовании Graph API - PullRequest
1 голос
/ 26 января 2012

У меня проблема с производительностью при использовании API Graph Facebook для получения списка друзей пользователя.Моя проблема не в том, чтобы получить список, а в том, чтобы просмотреть список, как только он будет получен, чтобы получить изображение пользователя.

API-вызов "me / friends" возвращает только userId и userName.Затем я должен взять userID каждого человека и позвонить, чтобы получить их фотографию.Это немного замедляет мой UITableView друзей.

У кого-нибудь есть лучшее решение для загрузки всех картинок?

Ответы [ 3 ]

4 голосов
/ 26 января 2012

Думаю, проблема должна быть в том, что вы должны загружать все изображения одновременно, и это будет блокировать пользовательский интерфейс, пока все изображения не будут загружены для изображений видимых ячеек таблицы.Это можно решить путем реализации Lazy Loading.Это пример, предоставленный самим APPLE, чтобы вы могли проверить код и использовать его в соответствии с вашими требованиями.

Дайте мне знать, если вы застряли где-нибудь.

Надеюсь, это поможет.

2 голосов
/ 26 января 2012

Насколько я знаю, ты должен делать свои вещи, как ты. Вы должны использовать GRAPH API для получения фотографии друга пользователя.

Сначала используйте FriendList API, чтобы получить список друзей, а затем получите фотографию своего друга с помощью Photo API.

Полагаю, вы так и сделали. Возможно, вы можете попробовать использовать AsynchronousImageView. Используйте AsynchronousImageView в вашем tableView для асинхронной загрузки изображений, чтобы он не застрял при загрузке представления таблицы.

0 голосов
/ 01 июня 2012

Чтобы получить их фотографию, вы можете создать ее по общему URL (это уникально только для фотографий).Вы ограничены маленьким, хотя.Так что для больших вам нужно использовать FQL для структурированного запроса.Но это хороший вариант, и он будет работать нормально.FQL немного неловко синтаксически.Вы можете проверить это в Graph Api Explorer, прежде чем подключиться к Xcode.

Опции:

  1. URL изображения может быть построен как:

    NSString * url = [[NSString alloc] initWithFormat: @ "https://graph.facebook.com/%@/picture",objectID];

  2. FQL-запрос (это обычный запрос)

    ВЫБЕРИТЕ uid, name, pic_square ОТ пользователя ГДЕuid = me () ИЛИ uid IN (ВЫБЕРИТЕ uid2 ИЗ ДРУГА, ГДЕ uid1 = me ())

Но, если честно, зачем это делать, если вы можете использовать график, чтобы найти другаuids и создайте картинку на лету - за исключением, конечно, если вы хотите большую картинку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...