0
正在構建聯繫人應用程序。 在主要活動中,我有一個listview,在那裏我顯示的聯繫人。在列表視圖中載入聯繫人照片(使用CursorAdapter)非常遲緩
我使用一個CursorAdapter處理塔光標列表
這一切運作良好,沒有照片。
但是,當我嘗試使用照片滾動變得呆滯。
Thc時調用打開輸入流很慢,即使InputStream爲null,並且沒有圖像的加載:
public static Bitmap loadContactPhoto(ContentResolver cr, long id)
{
Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
if (input == null)
{
return null;
}
return BitmapFactory.decodeStream(input);
}
我能做些什麼呢?
是的,我做的UI線程。但據我所見,我的猜測是人們在Htc Sense中的應用程序也會在UI線程中加載(當你看到這些聯繫人時,圖像顯示爲immeadeatley,而不用等待它加載),所以我想 - 在那裏 - 必須是一種方式。 – dor506
我真的懷疑......如果是HTC的情況......他們可能已經將圖像緩存在內存中......沒有辦法確定位圖加載時間......所以我會建議你將你的加載部分移到不同的線程中(請參閱我的回覆以瞭解如何實現此目的)... –