У меня есть ListView
и GridView
как вызывает у меня проблемы и OutOfMemory
ошибки при прокрутке, я прочитал в Интернете о проблеме и увидел this вопрос, поэтому я использовал первое решение Сунило и реализовал его в своем коде. изображения для GridView
и ListView
находятся на «/res/drawable/image1.png» и так далее, я перешла к CustomAdapter
класса это целочисленный массив public static int[] mDrawableImg = {R.drawable.back, R.drawable.arrows, R.drawable.bomber, R.drawable.archers, R.drawable.knight};
и использовал:андроид ListView OutOfMemory - ImageBitmaps
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
final Holder holder = new Holder();
final View rowView = inflater.inflate(R.layout.program_list2, null);
holder.img = (ImageView) rowView.findViewById(R.id.imageView1);
holder.img.setImageResource(imageId[position]);
// holder.img.setImageBitmap(convertBitmap(String.valueOf(imageId[position])));
return rowView;
}
Теперь, как вы видите, я добавил строка кода для загрузки изображения с Bitmap
с функцией convertBitmap
, но мой GridView
пуст, его прокручиваемое значение есть, но изображения не загружаются.
convertBitmap
Функция:
public static Bitmap convertBitmap(String path) {
Bitmap bitmap = null;
BitmapFactory.Options bfOptions = new BitmapFactory.Options();
bfOptions.inDither = false;
bfOptions.inTempStorage = new byte[32 * 1024];
File file = new File(path);
FileInputStream fs = null;
try {
fs = new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
if (fs != null) {
bitmap = BitmapFactory.decodeFileDescriptor(fs.getFD(), null, bfOptions);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fs != null) {
try {
fs.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return bitmap;
}
Что я сделал не так, и это будет решать мои OutOfMemory
ошибки? Благодарю.
Вы возвращаете rowView, но его не существует, что мне с ним делать? – DAVIDBALAS1
@ DAVIDBALAS1Oh, мой ошибка. Посмотрите на отредактированный ответ. Вы должны использовать тот же convertView –
Спасибо, в любом случае, к сожалению прокрутка по-прежнему немного лаги. – DAVIDBALAS1