繁体   English   中英

应用程序在设备中崩溃,但在模拟器中未崩溃

[英]app crashes in device but not in emulator

我在模拟器上运行了该应用程序,它运行良好,但是当我将其安装在设备中时,它崩溃了。

这是导致崩溃的代码

c1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if ( c1.isChecked() )
                {
                    SQLHandler check = new SQLHandler(StartMoving.this);
                    check.open();
                    check.updateTodo(currentMove, "sortandpurge", "Done");
                    check.close();
                }else{
                    SQLHandler check = new SQLHandler(StartMoving.this);
                    check.open();
                    check.updateTodo(currentMove, "sortandpurge", "Not Done");
                    check.close();
                }
            }
        });

该代码的作用是,如果单击该复选框,则将更新数据库。

public void updateTodo(String todoMove, String todoName, String todoValue){
        ContentValues cv = new ContentValues();
        cv.put(todoName, todoValue);
        ourDatabase.update(DATABASE_TABLE4, cv, KEY_TODOMOVE + "='" + todoMove + "'", null);
    }

但是以某种方式应用程序在设备中崩溃,但在模拟器中却没有崩溃

这是原木猫

09-27 02:59:05.743: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:05.763: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:08.153: D/dalvikvm(1130): GC_CONCURRENT freed 44K, 2% free 10692K/10823K, paused 11ms+10ms
09-27 02:59:08.213: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:08.343: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:08.724: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:08.853: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:09.223: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:09.353: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:09.403: D/dalvikvm(1130): GC_CONCURRENT freed 13K, 2% free 11222K/11335K, paused 6ms+7ms
09-27 02:59:09.723: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:09.763: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:10.243: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:10.293: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:10.733: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:10.863: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:11.234: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:11.353: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:11.743: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:11.863: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:12.233: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:12.363: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:12.723: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:12.803: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'
09-27 02:59:13.233: I/dalvikvm(1130): threadid=3: reacting to signal 3
09-27 02:59:13.363: I/dalvikvm(1130): Wrote stack traces to '/data/anr/traces.txt'

我发现了问题,看来我将列之一设置为整数而不是应设置为文本,这让我很愚蠢。

当发生ANR(应用程序无响应)情况时,dalvik将发送“ threadid = 3:对信号3作出反应”消息。 您可以在/data/anr/trace.txt文件中找到详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM