ExpandableListView
行のフィールドに通常どおりデータを入力する があります。ただし、フィールドの 1 つはImageView
、イメージへのパスが変数に格納されるフィールドです。問題は、リスト ビューの展開/折りたたみとスクロールが遅いことです。展開/折りたたみには約 1 秒かかります。これは正常ですか?速くする方法はありますか?以下のコードはImageView
、パフォーマンスの背後にある理由であると思われるコードです(コメントしましたが、速度は許容範囲でした)
何ができるか教えてください。
String imagePath = prop.getImagePath();
if (imagePath.length() > 0) {
Uri mainImgeUri = Uri.parse(imagePath);
InputStream imageStream;
try {
imageStream = mActiviy.getContentResolver().openInputStream(mainImgeUri);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;
Bitmap yourSelectedImage = BitmapFactory.decodeStream(imageStream, null, options);
holder.mainImage.setImageBitmap(yourSelectedImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
imagePath
変数 prop は、DB に文字列として格納されているデータベースから取得されたことに注意してください。リストを初期化する前にDBクエリが発生したため、パフォーマンスに影響はありません。