Android: BitmapFactory.decodeResource retourner null

Je n'arrive pas à comprendre cela. J'ai 2 classes java avec des caractéristiques différentes, chacune appelant BitmapFactory.decodeResource pour obtenir la même image de la ressource, on renvoie le bitmap tandis que l'autre renvoie la valeur null. Les deux classes sont dans le même package.

Ici est la classe qui travaille, il appelle BitmapFactory.decodeResource qui renvoie l'image bitmap. Je n'ai inclus le code pertinent.

package advoworks.test;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.util.Log;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class MainScreen extends SurfaceView implements SurfaceHolder.Callback {

    private static final String TAG = MainScreen.class.getSimpleName();

    public MainScreen(Context context) {
        super(context);

        Bitmap bitmap;
        bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.droid_1);

        //adding the callback (this) to the surface holder to intercept events;
        getHolder().addCallback(this);

        //make the GamePanel focusable so it can handle events
        setFocusable(true);

    }
}

Ici est la classe qui ne fonctionne pas. BitmapFactory.decodeResource renvoie une valeur NULL dans le debug. Je n'ai inclus le code que j'ai ressenti était pertinente.

package advoworks.test;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.util.Log;

public class Segment {

    private int x;
    private int y;
    private Bitmap bitmap;

    public Segment(int x, int y) {
        Log.d(TAG, "Creating Segment");
        try {
            this.bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.droid_1);
        } catch (Exception e) {
            Log.d(TAG,"Error is " + e);
        }   
        this.x = x;
        this.y = y;
        Log.d(TAG, "Created Segment");
    }
}

Aucune idée de quelqu'un?

en êtes-vous des erreurs dans le logcat?
non, je ne reçois pas toutes les erreurs dans le logcat 🙁
Pourquoi ne u besoin de charger la même ressource en deux fois dans la même application. La charge une fois et de passer sa référence à tous les endroits u besoin.

OriginalL'auteur Kevin | 2011-09-21