Ich habe ein ListView
und ein GridView
sowohl was ich Probleme und OutOfMemory
Fehler beim Scrollen, las ich im Internet über die Ausgabe und sah this Frage so habe ich erste Lösung von Sunil und implementiert sie in meinem Code. die Bilder für die GridView
und ListView
sind bei „/res/drawable/image1.png“ und so weiter, ich bestehen die CustomAdapter
Klasse dieses int Array public static int[] mDrawableImg = {R.drawable.back, R.drawable.arrows, R.drawable.bomber, R.drawable.archers, R.drawable.knight};
und verwendet, um diesen:android 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;
}
Nun, wie Sie sehen, ich hinzugefügt eine Zeile Code, um das Bild von Bitmap
mit einer Funktion namens convertBitmap
zu laden, aber meine GridView
ist leer, seine scrollbare Bedeutung gibt es Elemente, aber die Bilder sind nicht geladen.
convertBitmap
Funktion:
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;
}
Was habe ich falsch gemacht, und es wird meine OutOfMemory
Fehler lösen? Vielen Dank.
Sie geben die rowView zurück, aber es existiert nicht, was soll ich damit machen? – DAVIDBALAS1
@ DAVIDBALAS1Oh, mein Fehler. Sehen Sie sich die bearbeitete Antwort an. Du solltest das selbe convertView verwenden –
Danke, trotzdem ist das Scrollen leider immernoch ein bisschen stocky .. – DAVIDBALAS1