2012-06-12 41 views
5

我正在使用Android 4.0.3的低成本平板电脑。这里的日志:Android 4.0.3上的画布上发生奇怪的崩溃画图。 A/libc:致命信号11(SIGSEGV)

06-11 23:36:04.653: D/SynopticElement(1583): Size changed to 200x200 
06-11 23:36:04.693: D/dalvikvm(1583): GC_FOR_ALLOC freed 62K, 12% free 7275K/8199K, paused 33ms 
06-11 23:36:04.713: D/SynopticElement(1583): Size changed to 190x190 
06-11 23:36:04.733: D/dalvikvm(1583): GC_FOR_ALLOC freed 9K, 12% free 7583K/8583K, paused 22ms 
06-11 23:36:04.743: A/libc(1583): Fatal signal 11 (SIGSEGV) at 0xc52c9d4c (code=1) 

调试我的代码:

canvas.scale(getWidth(), getWidth()); //I'm drawing a custom component 

Paint frameBackgroundPainter = new Paint(); 
frameBackgroundPainter.setAntiAlias(true); 
frameBackgroundPainter.setStyle(Paint.Style.FILL); 
frameBackgroundPainter.setColor(0xff000000); 

Paint frameBorderPainter = new Paint(); 
frameBorderPainter.setAntiAlias(true); 
frameBorderPainter.setStrokeWidth(0.007f); //canvas is scaled 
frameBorderPainter.setStyle(Paint.Style.STROKE); 
frameBorderPainter.setColor(0xffaaaaaa); 

RectF frameRect = getFrameBorder(); //simply get the Rect to draw on canvas 
canvas.drawRect(frameRect, frameBackgroundPainter); //draw the background 

// ---> If I comment this line app does not crash!!!!! <--- 
canvas.drawRect(frameRect, frameBorderPainter); //draw the border 

有一个问题与油漆笔画宽度,我tryed不同的值:

0.007f -> crash 
0.009f -> crash 
0.5f -> ok 
0.1f -> ok 

有人可以告诉我使用不同的帆布比例,因为线宽非常低:ok,但是如果我设置了width=0.007f和r在Android 2.3(平板电脑和手机)和Android 3.0(平板电脑)上的应用程序...

我不喜欢以不同方式绘制边框的任何解决方案,我想知道是否有人知道这是否是Android 4.0.3的错误。

我也想这可能是我的低成本平板电脑的图形硬件问题,可惜的是我没有其他Android 4.0.3设备进行测试...

我的标签中的指标:

DisplayMetrics{density=1.0, width=480, height=752, scaledDensity=1.0, xdpi=160.0, ydpi=160.42105} 

和有关设备访问this link的更多信息。

+0

由于内存泄漏导致内存用完 – XepterX

+0

你怎么这么说? –

+1

,因为我的地位与我的android 4.0.3手机一样,经过一番调查,发现这是内存泄露导致的 – XepterX

回答

0

这是在Intel x86 AVD上停止OpenGL-ES应用程序时的常见错误(onStop()中每次启动都崩溃)。以下是一个快速解决方案: - 打开AndroidManifest.xml,向应用程序节点添加android:allowClearUserData =“true”标记。

 
    <application 
      android:allowBackup="true" 
      android:icon="@drawable/ic_launcher" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme" 
      android:allowClearUserData="true" > 

+0

我很确定这不适合这种情况.... –

相关问题