android报错-android开发报错log信息如下,小弟新手,求问是什么错误,错在哪,如何解决

问题描述

android开发报错log信息如下,小弟新手,求问是什么错误,错在哪,如何解决

02-21 20:41:34.969: W/dalvikvm(20654): threadid=11: thread exiting with uncaught exception (group=0x40abf228)
02-21 20:41:34.969: E/AndroidRuntime(20654): FATAL EXCEPTION: Thread-6366
02-21 20:41:34.969: E/AndroidRuntime(20654): java.lang.IllegalArgumentException
02-21 20:41:34.969: E/AndroidRuntime(20654): at android.view.Surface.unlockCanvasAndPost(Native Method)
02-21 20:41:34.969: E/AndroidRuntime(20654): at android.view.SurfaceView$4.unlockCanvasAndPost(SurfaceView.java:819)
02-21 20:41:34.969: E/AndroidRuntime(20654): at com.himi.MySurfaceView.draw(MySurfaceView.java:66)
02-21 20:41:34.969: E/AndroidRuntime(20654): at com.himi.MySurfaceView.run(MySurfaceView.java:85)
02-21 20:41:34.969: E/AndroidRuntime(20654): at java.lang.Thread.run(Thread.java:864)
02-21 20:41:35.089: D/memalloc(20654): /dev/pmem: Mapped buffer base:0x54554000 size:28688384 offset:26599424 fd:77
02-21 20:41:35.409: D/memalloc(20654): /dev/pmem: Unmapping buffer base:0x52a1a000 size:26599424 offset:24510464
02-21 20:41:35.409: D/memalloc(20654): /dev/pmem: Unmapping buffer base:0x54554000 size:28688384 offset:26599424
02-21 20:41:38.222: D/Process(20654): killProcess, pid=20654
02-21 20:41:38.222: D/Process(20654): dalvik.system.VMStack.getThreadStackTrace(Native Method)
02-21 20:41:38.252: D/Process(20654): java.lang.Thread.getStackTrace(Thread.java:599)
02-21 20:41:38.252: D/Process(20654): android.os.Process.killProcess(Process.java:790)
02-21 20:41:38.252: D/Process(20654): com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:104)

enter code here

package com.himi;

import java.util.Vector;
//Download by http://www.codefans.net
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.SurfaceHolder.Callback;

public class MySurfaceView extends SurfaceView implements Callback, Runnable {
private Thread th;
private SurfaceHolder sfh;
private Canvas canvas;
private Paint p;
public static Vector vec_bmp;
public static Vector vec_string;
private int col;

public MySurfaceView(Context context, AttributeSet attrs) {
    super(context, attrs);
    p = new Paint();
    p.setAntiAlias(true);
    sfh = this.getHolder();
    sfh.addCallback(this);
    th = new Thread(this);
    this.setKeepScreenOn(true);
    setFocusable(true);
    vec_string = new Vector<String>();
    vec_bmp = new Vector<Bitmap>();
}

public void surfaceCreated(SurfaceHolder holder) {
    col = this.getWidth() / 100;
    th.start();
}

public void draw() {
    try {
        canvas = sfh.lockCanvas();
        if (canvas != null) {
            canvas.drawColor(Color.BLACK);
            if (vec_bmp != null && vec_bmp.size() != 0) {
                for (int i = 0; i < vec_bmp.size(); i++) {
                    Bitmap bitmap = vec_bmp.elementAt(i);
                    p.setStyle(Style.STROKE);
                    canvas.drawRect((i % col) * 104 + 1, (i / col) * 100 + 1, (i % col) * 104 + 104 - 2, (i / col) * 100 + 100 - 2, p);
                    canvas.drawBitmap(bitmap, (i % col) * 100, (i / col) * 100, p);
                    p.setColor(Color.YELLOW);
                    canvas.drawText(vec_string.elementAt(i), (i % col) * 104 + 10, (i / col) * 100 + 97, p);
                    p.setColor(Color.WHITE);
                }
            }

        }
    } catch (Exception e) {
        // TODO: handle exception
    } finally {
        sfh.unlockCanvasAndPost(canvas);
    }
}

@Override
public boolean onKeyDown(int key, KeyEvent event) {

    return super.onKeyDown(key, event);
}

@Override
public boolean onTouchEvent(MotionEvent event) {

    return true;
}

public void run() {
    // TODO Auto-generated method stub
    while (true) {
        draw();
        try {
            Thread.sleep(100);
        } catch (Exception ex) {
        }
    }
}

public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
    // TODO Auto-generated method stub

}

public void surfaceDestroyed(SurfaceHolder holder) {
    // TODO Auto-generated method stub

}

}

解决方案

thread exiting with uncaught exception
线程退出了因为没有捕获异常
com.himi.MySurfaceView.draw(MySurfaceView.java:66)
com.himi.MySurfaceView.run(MySurfaceView.java:85)

看看上面两行代码放入try里面捕获下

时间: 2024-12-04 05:47:19

android报错-android开发报错log信息如下,小弟新手,求问是什么错误,错在哪,如何解决的相关文章

c++-网上下载的duilib源代码编译报错,新手求问如何检查。

问题描述 网上下载的duilib源代码编译报错,新手求问如何检查. 下载的是SVN364.先说下错误吧,报错如下: >C:Program Files (x86)Windows Kits8.1Includeumdispex.h(791): error C2011: "ICanHandleException":"struct"类型重定义 1> f:duilibduilib-svn364-20121126svn364duilibUtils/flash11.tl

android cts 报错 Android!

问题描述 android cts 报错 Android! 这种报错通常是什么 有没有什么共性 求大虾 指导一下 at com.android.tradefed.testtype.DeviceTestResult$1.protect(DeviceTestResult.java:81) at com.android.tradefed.testtype.DeviceTestResult.runProtected(DeviceTestResult.java:56) at com.android.trad

ndroid项目 文件报错-Android项目R文件报错

问题描述 Android项目R文件报错 Android新建项目R.java文件报错求大神帮忙! 解决方案 试试重新build一下 解决方案二: 是因为没有找到定义的padding的属性,看看是否取到

关于使用cocos2d-x创建android报错问题

问题描述 关于使用cocos2d-x创建android报错问题 我是cocos2d-x新手,配好环境等等之后,使用cocos2d-x里面的create-android-project.bat文件新建项目,可是最后有两行报错的代码. 求达人帮忙 这是怎么回事. 代码如下 etc/profile.d/lang.sh: line 21: /usr/bin/locale: No such file or directory etc/profile.d/tzset.sh: line 24: /usr/bi

cocos2d-x-3.8编译android报错,求大神帮帮忙

问题描述 cocos2d-x-3.8编译android报错,求大神帮帮忙 创建了一个cocos2d项目,添加了几行代码,在vs2012下运行正常,编译win32也正常,但是一编译android就报错 NDK用android-ndk-r9d和android-ndk-r10两个版本试过,估计不是ndk的原因,其他的原因也想不出来,求大神帮忙解决 这是报错的原文 E:cocosfu100>cocos compile -p android -j 4 执行命令:compile 编译模式:debug 使用

游标-android报错真的不知道怎么回事,急求大神解释 ,明天要完成任务的

问题描述 android报错真的不知道怎么回事,急求大神解释 ,明天要完成任务的 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mymail/com.example.mymail.FeedbackShow}: android.database.sqlite.SQLiteException: no such table: feedbacklist (code 1): while comp

android报错

问题描述 android报错:com.easemob.exceptions.EaseMobException: conflict 解决方案 这个是注册的用户已存在的报错,检查一下代码.

cocos2d-2.0-x-2.0.3 交叉编译到android报错解决_Android

我用的是cocos2d-2.0-x-2.0.3 之前弄了一天也没成功 今天来了下载了最新的ndk8 更新了sdk 又重新是了一遍 居然成功了,不知道是工具的版本问题还是哪一步出错误了,在这里整理一下: 首先各个工具都下下来配置好,然后将cygwin中的.bash_profile这个文件打开 在最后加上ndk的路径 NDK_ROOT=/cygdrive/c/android-ndk-r8d export NDK_ROOT 2.找到cocos2dx中的create-android-project.ba

cocos2d-2.0-x-2.0.3 交叉编译到android报错解决

我用的是cocos2d-2.0-x-2.0.3 之前弄了一天也没成功 今天来了下载了最新的ndk8 更新了sdk 又重新是了一遍 居然成功了,不知道是工具的版本问题还是哪一步出错误了,在这里整理一下: 首先各个工具都下下来配置好,然后将cygwin中的.bash_profile这个文件打开 在最后加上ndk的路径 NDK_ROOT=/cygdrive/c/android-ndk-r8d export NDK_ROOT 2.找到cocos2dx中的create-android-project.ba