2012-06-12 27 views
5

Używam taniego tabletu z Androidem 4.0.3. Oto log:Dziwny rysunek awaryjny na płótnie na Androida 4.0.3. A/libc: Fatal signal 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) 

debugowania kodu:

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 

Jest problem z szerokością farba udaru, tryed z różnymi wartościami:

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

Ktoś może mi powiedzieć do pracy z inną skalą płótna ze względu na bardzo niską wartość szerokości linii: ok, ale wszystko jest ok, jeśli ustawię width=0.007f i r un app na Androidzie 2.3 (tablet i telefon) i Android 3.0 (tablet) ...

Nie wybieram żadnego rozwiązania, aby narysować obramowanie w inny sposób, zastanawiam się, czy ktoś wie, czy to jest błąd Androida 4.0.3.

Myślę też może to być problem sprzętowy graficzny mojej małej tabletce kosztów, niestety nie mam innego urządzenia z Androidem 4.0.3, aby testy ...

karcie Moje metryki:

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

i więcej informacji na temat urządzenia odwiedź this link.

+0

Wystąpił brak pamięci z powodu wycieku pamięci – XepterX

+0

Jak możesz tak mówić? –

+1

ponieważ miałem taki sam status jak ten na moim telefonie z Androidem 4.0.3 i po pewnych badaniach, okazało się, że było to spowodowane wyciekiem pamięci – XepterX

Odpowiedz

0

To był typowy błąd podczas zatrzymywania aplikacji OpenGL-ES na komputerze z procesorem Intel x86 AVD (każde uruchomienie systemu zawiesza się w trybie onStop()). Oto szybkie rozwiązanie: - Otwórz AndroidManifest.xml, dodaj android: allowClearUserData = "true" tag do węzła aplikacji.

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

+0

Jestem pewien, że to nie pasuje do tej sprawy. –