我有一個ExpandableListView
它填充的行的字段爲正常。但是,其中一個字段是ImageView
,其中映像的路徑存儲在變量中。問題在於擴展/摺疊和滾動列表視圖很慢。展開/摺疊大約需要一秒鐘。這是正常的嗎?有沒有辦法讓它更快?下面的代碼是ImageView
代碼,我懷疑它是性能(我評論它,速度是可以接受的)爲什麼展開/摺疊和滾動ExpandableListView速度慢?
請讓我知道什麼可以做背後的原因。
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
存儲爲DB串數據庫中獲取的變量道具。數據庫查詢甚至在初始化列表之前發生,因此它不會影響性能。
哦~~我看。是的,我在getView中使用它,就像你猜測的那樣。我喜歡你的收藏方法。因此,從路徑的位圖轉換爲外部完成並存儲在收集,但holder.mainImage.setImageBitmap(yourSelectedImage)仍然在getview做,對不對? – Snake 2013-02-17 19:07:20
是的,就是這樣。 – mango 2013-02-18 09:37:23