android gridview stürzt auf galaxy 3 ab

Ok, ich glaube, ich habe zur Abwechslung eine echte Frage. Ich habe eine gridView in Android implementiert und dabei Schritt für Schritt die Anweisungen auf der Android-Entwicklerseite befolgt.http://developer.android.com/resources/tutorials/views/hello-gridview.html Ich habe es so geändert, dass beim Klicken auf eine Ansicht die Bitmap zurückgegeben wird. Dies alles funktioniert auf fortgeschrittenen Handys wie Galxy Note und Galaxy S2, und auf weniger fortgeschrittenen Handys wie Galaxy Ace und sogar einigen beschissenen HTC von vor 2 Jahren. Aber aus irgendeinem Grund stürzt es auf Galaxy 3 mit ICS aufgrund von OutOfMemory-Problemen ab. Wenn Sie ungefähr die Hälfte der Bilder in der Rasteransicht verwenden, funktioniert dies (wenn auch etwas langsam). Macht das für irgendjemanden Sinn?

Dies ist meine Implementierung von ImageAdapter:

public class ImageAdapter extends BaseAdapter {
private Context mContext;
private int mWidth;
private int mHeight;

public ImageAdapter(Context c, int width, int height) {
    mContext = c;
    mWidth = width;
    mHeight = height;
}

public int getCount() {
    return mThumbIds.length;
}

public Object getItem(int position) {
    return null;
}

public long getItemId(int position) {
    return mThumbIds[position];
}

// create a new ImageView for each item referenced by the Adapter
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView;
    if (convertView == null) {  // if it's not recycled, initialize some attributes
        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(mWidth, mHeight));
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setPadding(8, 8, 8, 8);
    } else {
        imageView = (ImageView) convertView;
    }

    imageView.setImageResource(mThumbIds[position]);
    return imageView;
}

// references to our images
private Integer[] mThumbIds = {
        R.drawable.third_world , R.drawable.annoyinggirl,
        R.drawable.asianfather, R.drawable.awkawespeng,
        R.drawable.awkpeng, R.drawable.blankdad,
        R.drawable.collegesenior, R.drawable.courage,
        R.drawable.frog, R.drawable.frynotsure,
        R.drawable.goodguygreg, R.drawable.scumbag,
        R.drawable.raptor,R.drawable.keano,
        R.drawable.successkid, R.drawable.wonka,
        R.drawable.braceyourselves, R.drawable.onedoesnotsimply,
        R.drawable.firstworldproblem, R.drawable.amitheonlyone,
        R.drawable.badluckbrian, R.drawable.interestingman,
        R.drawable.toodamnhigh, R.drawable.def    
};

}

Dies ist die aufrufende Funktion von meinem Haupt:

  private void changeToTemplateView(){
    setContentView(R.layout.templates);

    GridView gridview = (GridView) findViewById(R.id.gridview);
    gridview.setAdapter(new ImageAdapter(context, (int)(dstWidth * 1.4), (int)(dstHeight * 1.4)));

    gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

            Options opts = new Options();
            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), (int) parent.getItemIdAtPosition(position), opts);

            //do stuff with bitmap          
        }
    });
}

Und dies ist die XML für die Rasteransicht:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/gridview"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"

/>

Wenn jemand eine Ahnung hat, was ich hier falsch machen könnte, bin ich für immer dankbar

BEARBEITEN: Vor dem Absturz erhalte ich eine Fehlermeldung im Protokoll: "FimgApiStretch: Dehnung fehlgeschlagen". Außerdem funktioniert das Scrollen in der Rasteransicht nicht. Dies gilt unabhängig von der Tatsache, dass die App auch dann abstürzt, wenn nicht genügend Miniaturansichten vorhanden sind, um einen Bildlauf durchzuführen

Antworten auf die Frage(3)

Ihre Antwort auf die Frage