안녕하세요~

 

안드로이드 마켓에 앱을 올리고 나서 수차례  Crash 리포트오는 내용이 있는데 재현도 안되고 원인을 찾기 힘들어 도움을 얻을수 있을까 질문 올려봅니다.

 

Crash report를 보면 아래와 같은데요.

 

java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@46c74130
at android.graphics.Canvas.throwIfRecycled(Canvas.java:955)
at android.graphics.Canvas.drawBitmap(Canvas.java:1044)
at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:323)
at android.widget.ImageView.onDraw(ImageView.java:1142)
at android.view.View.draw(View.java:6740)
at android.view.ViewGroup.drawChild(ViewGroup.java:1640)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
at android.view.View.buildDrawingCache(View.java:6500)
at android.view.ViewGroup.onAnimationStart(ViewGroup.java:1253)
at android.view.ViewGroup.drawChild(ViewGroup.java:1499)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
at android.view.ViewGroup.drawChild(ViewGroup.java:1638)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
at android.view.View.draw(View.java:6743)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1906)
at android.view.ViewRoot.draw(ViewRoot.java:1411)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1167)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1731)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
 
보면 FrameLayout.draw가 호출되고 onAimationStart가 호출되면서 android.graphics.Canvas.throwIfRecycled에서 프로그램이 죽는거 같은데요.
 
제 앱 Layout에서는 FrameLayout은 포함되어 있지도 않고 onAnimationStart를 호출하는 부분도 없습니다.
 
다만 각종 라이브러리들을 사용하고 있는데 라이브러리들 내부적으로 호출되는건지 가늠하기가 어렵네요.
 
현재 사용하는 라이브러리는 cocos2dx, openfeint, admob, tad, ad@m 을 사용중에 있습니다.
 
주간 400건 넘는 crash라서 꼭 좀 잡아야겠는데 힘드네여;;
 
혹시 android.graphics.Canvas.drawBitmap 함수에 break point 걸어서 디버깅 해볼 수 있는 방법이나 위 콜스택을 검증 할 수 있는 방법이 있다면 알려주시면 감사하겠습니다__)
 
의심 가는 점도 있다면 답글 부탁드려요~