0

catlogによると、最初のforサイクルが完了し、2番目のサイクルでクラッシュが発生します。これはinit非常に単純なゲームの方法です。

private void init()

{

            Resources res = this.getResources();


            int x=R.drawable.crystal0000;
            for(int i=0;i<=100;i++)// This for completes
            {
                Bitmap b=BitmapFactory.decodeResource(res, x+i);
                Log.d("crystalframes loaded", Integer.toString(i));
                crystalframes[i]=Bitmap.createScaledBitmap(b, 20, 20, false);
            }// Nothing after this points goes trough 
             x = R.drawable.frame0;
            for (int i = 0; i < 10; i++) {
                Bitmap t = BitmapFactory.decodeResource(res, x + i);
                Log.d("frame", Integer.toString(i));
                frames[i] = Bitmap.createScaledBitmap(t, 40, 40, false);
            }
            x = R.drawable.rframe0;
            for (int i = 0; i < 10; i++) {
                Bitmap t = BitmapFactory.decodeResource(res, x + i);
                Log.d("frame", Integer.toString(i));
                frames[i + 10] = Bitmap.createScaledBitmap(t, 40, 40, false);
            }
            // Code continues from the here but the crash is caused somewhere 

これらの行で

4

1 に答える 1

1

おそらく、次crystalframesのように作成しました。

crystalframes = new Bitmap[100];

しかし、あなたがしたので、101のサイズが必要です:

for(int i=0;i<=100;i++)// This for completes

また、メモリが不足している可能性があります。

于 2012-07-13T13:22:21.973 に答える