我正在寻找一种快速获取所有朋友的个人资料照片的方法。 我正在使用Facebook SDK for Android。
现在我正在获取我朋友的列表JSON对象,并在此对象中运行for循环。 在循环中,我将每个图像放在:http://graph.facebook.com/uid/picture中的Drawable对象中。
我已经看到每张照片的重量只有4K,对于很少的朋友来说速度很快。 但是如果我有1000个朋友并且我为每个人连接到Facebook怎么办? 这需要很多时间。
我在其他应用程序中看到他们中的一些人很快就能显示你所有的朋友。
最好的方法是什么?使用跑步者?
答案 0 :(得分:4)
如果每张图片都是4K,并且您有1000个朋友,则大约有4MB的数据。下载它需要时间。如果你需要他们所有的照片,就无法绕过它。
那就是说,你应该考虑一下你是否真的需要他们所有的照片。绝大多数应用程序将使用朋友的个人资料图片向用户显示。合理地说,界面不会同时显示1000个朋友。在这种情况下,一个好的解决方案可能是延迟加载图像,即在为每个朋友解析JSON时存储图像的URL,但在您需要之前不要下载实际图像。如果说你的界面一次显示10个朋友,那么那只有40K的图片就更合理了。
你可以搜索StackOverflow for android lazy load list images但是这里有一个可能有用的特定线程:Lazy load of images in ListView。