Im連絡先アプリケーションをビルドします。 主な活動では、私は連絡先を表示するリストビューを持っています。リストビューで(CursorAdapterを使用して)連絡先の写真をロードすると、非常に遅れます
私は、それはすべてが写真なしでうまく機能リスト
とthaのカーソルを処理するために、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のPeopleアプリケーションはUIスレッドの読み込みも行っているということです(連絡先が表示されたときにイメージが表示されます)。方法でなければなりません。 – dor506
私は本当にそれが... HTCの場合は....彼らはすでにメモリ内の画像をキャッシュしている可能性があります...ビットマップの読み込み時間を確認する方法はありません...読み込み部分を別のスレッドに移動するようアドバイスします(これを達成する方法については私の返答を見てください)... –