java.lang.RuntimeException:无法启动活动

java.lang.RuntimeException:无法启动活动,java,android,eclipse,android-intent,android-activity,Java,Android,Eclipse,Android Intent,Android Activity,强调文本 }当您查看异常的堆栈跟踪时,您将看到根本原因: OutOfMemoryError: bitmap size exceeds VM budget 这意味着您试图加载的图像对于可用内存来说太大。没有其他解决方案可以使用更小的图像 编辑: 是关于处理大型图像的更多信息。原因:android.view.InflateException:二进制XML文件第2行:错误膨胀类请发布/res/layout/pilih_level这意味着图像大小?如果您阅读日志,在此之前XML文件中发生错误。这不能确

强调文本


}

当您查看异常的堆栈跟踪时,您将看到根本原因:

OutOfMemoryError: bitmap size exceeds VM budget
这意味着您试图加载的图像对于可用内存来说太大。没有其他解决方案可以使用更小的图像

编辑:


是关于处理大型图像的更多信息。

原因:android.view.InflateException:二进制XML文件第2行:错误膨胀类请发布/res/layout/pilih_level这意味着图像大小?如果您阅读日志,在此之前XML文件中发生错误。这不能确定是问题的根本原因,因为它可能是由以前的失败引起的。问题目前是不完整的,因为它没有提供足够的信息。@MattClark-不正确。这是导致同一故障报告中出现较高错误的实际原因错误。
   package com.game.lutung;

   import java.sql.SQLException;

   import com.game.dbcontroller.DBCreateBahasa;
   import com.game.dbcontroller.DBCreateLevel;
   import com.game.model.Level;
   import com.game.view.Komik;

   import android.app.Activity;
   import android.content.Context;
   import android.content.Intent;
   import android.database.Cursor;
   import android.database.sqlite.SQLiteDatabase;
   import android.os.Bundle;
   import android.view.KeyEvent;
   import android.view.View;
   import android.view.View.OnClickListener;
   import android.view.Window;
   import android.view.WindowManager;
   import android.widget.Button;
   import android.widget.ImageView;

   public class PilihLevel extends Activity {
     final Context context = this;

     private DBCreateBahasa dbCreateBahasa;
     private DBCreateLevel dbCreateLevel;
     private LutungCreate lutungCreate;
     private LutungSetPosition lutungSetPosition;
private SQLiteDatabase database;

private String jenisBahasa;

private ImageView judul;
private ImageView level1;
private ImageView level2;
private ImageView level3;
private ImageView level4;
private ImageView level5;
private ImageView level6;

private int id_level;
private String level;
private String status;
private String keterangan;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.pilih_level);

    //suara
    Sound.setOST(context);

    //pamanggilan class DBCreateBahasa
    dbCreateBahasa = new DBCreateBahasa(context);
    dbCreateBahasa.open();
    jenisBahasa=dbCreateBahasa.getBahasaTerpilih();

    judul = (ImageView)findViewById(R.id.judulLevel);

    //method untuk setting bahasa
    setBahasa();

    //pemanggilan class DBCreateLevel
    dbCreateLevel = new DBCreateLevel(context);
    try {
        dbCreateLevel.open();
    } catch (SQLException e) {
        e.printStackTrace();
    }

    database = openOrCreateDatabase("lutung.db", MODE_PRIVATE, null);

    //pemanggilan class
    lutungCreate = new LutungCreate();
    lutungSetPosition = new LutungSetPosition();

    level1 = (ImageView)findViewById(R.id.level1);
    level2 = (ImageView)findViewById(R.id.level2);
    level3 = (ImageView)findViewById(R.id.level3);
    level4 = (ImageView)findViewById(R.id.l4);
    level5 = (ImageView)findViewById(R.id.level5);
    level6 = (ImageView)findViewById(R.id.level6);

    //method cek level
    cekLevelInDatabase();

    //tombol untuk level 1
    level1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Sound.setButtonClick(context);
            dbCreateLevel.pilihLevel(1, "digunakan");
            Intent cerita = new Intent(context, Komik.class);
            startActivity(cerita);
        }
    });
}

//method setting bahasa
private void setBahasa() {
    if(jenisBahasa.equals("English")){
        judul.setImageResource(R.drawable.level);
    }/*else if(jenisBahasa.equals("Sunda")){
        judul.setImageResource(R.drawable.level);
    }*/
}

//method cek level
private void cekLevelInDatabase() {
    //query
    Cursor cursor = database.rawQuery("SELECT * FROM level WHERE keterangan = 'terbuka'", null);
    cursor.moveToFirst();
    if(cursor.getCount() > 0){
        while(true){
            id_level = cursor.getInt(cursor.getColumnIndex("id_level"));
            level = cursor.getString(cursor.getColumnIndex("level"));
            status = cursor.getString(cursor.getColumnIndex("status"));
            keterangan = cursor.getString(cursor.getColumnIndex("keterangan"));

            System.out.println("id_level:"+id_level+", level :"+level+", status:"+status+", keterangan:"+keterangan);

            //tombol untuk level 2
            if(id_level == 2){
                level2.setImageResource(R.drawable.level2);
                level2.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Sound.setButtonClick(context);
                        dbCreateLevel.pilihLevel(2, "digunakan");
                        Intent cerita = new Intent(context, Komik.class);
                        startActivity(cerita);
                    }
                });
            //tombol untuk level 3
            }else if(id_level == 3){
                level3.setImageResource(R.drawable.level3);
                level3.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Sound.setButtonClick(context);
                        dbCreateLevel.pilihLevel(3, "digunakan");
                        Intent cerita = new Intent(context, Komik.class);
                        startActivity(cerita);
                    }
                });
            //tombol untuk level 4
            }else if (id_level == 4){
                level4.setImageResource(R.drawable.level4);
                level4.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Sound.setButtonClick(context);
                        dbCreateLevel.pilihLevel(4, "digunakan");
                        Intent cerita = new Intent(context, Komik.class);
                        startActivity(cerita);
                    }
                });
            //tombol untuk level 5
            }else if(id_level == 5){
                level5.setImageResource(R.drawable.level5);
                level5.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Sound.setButtonClick(context);
                        dbCreateLevel.pilihLevel(5, "digunakan");
                        Intent cerita = new Intent(context,
                                Komik.class);
                        startActivity(cerita);
                    }
                });
            //tombol untuk level 6
            }else if(id_level == 6){
                level6.setImageResource(R.drawable.level6);
                level6.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        Sound.setButtonClick(context);
                        dbCreateLevel.pilihLevel(6, "digunakan");
                        Intent cerita = new Intent(context,
                                Komik.class);
                        startActivity(cerita);
                    }
                });
            }

            if(!cursor.moveToNext())
                break;
        }
    }else{
        System.out.println("data tidak ada");
    }
    cursor.close();
}

//method untuk kembali ke halaman utama
public boolean onKeyDown(int keyCode, KeyEvent event){
    if(keyCode == KeyEvent.KEYCODE_BACK){
        Sound.setOSTMainStop(context);
        Intent home = new Intent(this, MainActivity.class);
        startActivity(home);
        //dbCreateLevel.close();
        //dbCreateBahasa.close();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
OutOfMemoryError: bitmap size exceeds VM budget