2013-12-10 35 views
0

按下按鈕打開一個爲我的電池創建圖表的活動後,我的應用程序中有一個anr。我從來沒有使用traces.txt所以我不知道我要看看這個錯誤:通過traces.txt瞭解ANR錯誤

----- pid 502 at 2013-12-10 14:29:15 ----- 
Cmd line: com.dd.batterystats 

JNI: CheckJNI is off; workarounds are off; pins=0; globals=276 

DALVIK THREADS: 
(mutexes: tll=0 tsl=0 tscl=0 ghl=0) 

"main" prio=5 tid=1 SUSPENDED 
    | group="main" sCount=1 dsCount=0 obj=0x41571ca8 self=0x414ab408 
    | sysTid=502 nice=0 sched=0/0 cgrp=apps handle=1074172244 
    | state=S schedstat=(57059843673 4570148676 34483) utm=5671 stm=34 core=1 
    at org.achartengine.chart.TimeChart.getXLabels(TimeChart.java:~190) 
    at org.achartengine.chart.XYChart.draw(XYChart.java:314) 
    at org.achartengine.GraphicalView.onDraw(GraphicalView.java:166) 
    at android.view.View.draw(View.java:14465) 
    at android.view.View.getDisplayList(View.java:13362) 
    at android.view.View.getDisplayList(View.java:13404) 
    at android.view.View.draw(View.java:14182) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:3103) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) 
    at android.view.View.getDisplayList(View.java:13357) 
    at android.view.View.getDisplayList(View.java:13404) 
    at android.view.View.draw(View.java:14182) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:3103) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) 
    at android.view.View.draw(View.java:14468) 
    at com.android.internal.widget.ActionBarOverlayLayout.draw(ActionBarOverlayLayout.java:381) 
    at android.view.View.getDisplayList(View.java:13362) 
    at android.view.View.getDisplayList(View.java:13404) 
    at android.view.View.draw(View.java:14182) 
    at android.view.ViewGroup.drawChild(ViewGroup.java:3103) 
    at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940) 
    at android.view.View.draw(View.java:14468) 
    at android.widget.FrameLayout.draw(FrameLayout.java:472) 
    at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2326) 
    at android.view.View.getDisplayList(View.java:13362) 
    at android.view.View.getDisplayList(View.java:13404) 
    at android.view.HardwareRenderer$GlRenderer.buildDisplayList(HardwareRenderer.java:1570) 
    at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1449) 
    at android.view.ViewRootImpl.draw(ViewRootImpl.java:2381) 
    at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2253) 
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1883) 
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000) 
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670) 
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) 
    at android.view.Choreographer.doCallbacks(Choreographer.java:574) 
    at android.view.Choreographer.doFrame(Choreographer.java:544) 
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) 
    at android.os.Handler.handleCallback(Handler.java:733) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5017) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
    at dalvik.system.NativeStart.main(Native Method) 

在哪裏,我要看看行?這是錯誤!? 編輯:我有更新的構建路徑,現在我得到這個錯誤:

12-10 15:30:22.036: E/InputEventReceiver(15922): Exception dispatching input event. 
12-10 15:30:22.036: E/AndroidRuntime(15922): FATAL EXCEPTION: main 
12-10 15:30:22.036: E/AndroidRuntime(15922): Process: com.dd.batterystats, PID: 15922 
12-10 15:30:22.036: E/AndroidRuntime(15922): java.lang.NullPointerException 
12-10 15:30:22.036: E/AndroidRuntime(15922): at org.achartengine.chart.XYChart.toRealPoint(XYChart.java:877) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at org.achartengine.tools.Pan.apply(Pan.java:74) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at org.achartengine.TouchHandler.handleTouch(TouchHandler.java:119) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at org.achartengine.GraphicalView.onTouchEvent(GraphicalView.java:300) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.View.dispatchTouchEvent(View.java:7706) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1959) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2068) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1515) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.app.Activity.dispatchTouchEvent(Activity.java:2458) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2016) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.View.dispatchPointerEvent(View.java:7886) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3954) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3833) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3399) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3449) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3418) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3525) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3426) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3582) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3399) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3449) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3418) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3426) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3399) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5602) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5582) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5553) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5682) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:5655) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:5701) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.Choreographer.doCallbacks(Choreographer.java:574) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.Choreographer.doFrame(Choreographer.java:542) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.os.Handler.handleCallback(Handler.java:733) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.os.Handler.dispatchMessage(Handler.java:95) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.os.Looper.loop(Looper.java:136) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at android.app.ActivityThread.main(ActivityThread.java:5017) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at java.lang.reflect.Method.invokeNative(Native Method) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at java.lang.reflect.Method.invoke(Method.java:515) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
12-10 15:30:22.036: E/AndroidRuntime(15922): at dalvik.system.NativeStart.main(Native Method) 
+0

上面你可以看到誰造成了anr(TimeChart.getXLabels(TimeChart.java:~190))。這是開始調查的好點子。既然是和畫相關的,我就是說,如果我是你,我將開始檢查我提交給圖書館的數據。 – Blackbelt

+0

這個圖書館是一個罐子:(你知道achartengine圖書館是如何工作的嗎?你能幫我解決問題嗎? –

+0

你也可以下載源代碼 – Blackbelt

回答

0

你需要學習閱讀Java的蹤跡,它很容易和非常有用的。我有一個small blog post about this,也許它對你有用。

在第二種情況下,錯誤爲java.lang.NullPointerException發生在org.achartengine.chart.XYChart.toRealPoint(XYChart.java:877)。這意味着您在該文件和該行中具有空引用。

+0

但是..它很奇怪..我的意思是,這是應用程序:https:// play.google.com/store/apps/details?id=com.dd.batterystats和圖表運作良好......但正如您所看到的,我使用了slidingmenu庫,然後我將更新代碼並實現導航抽屜。這需要「轉換」片段中的活動並更改代碼中的某些內容,除了圖表之外,其他所有內容都不是這樣,我使用相同的調用來啓動該活動,我不更改數據,因此不可能爲null。我覺得很奇怪,我必須直接改變一些東西電子圖書館。或不? –

+0

現在它工作的一部分..我重新更新了舊的achartengine jar庫的構建路徑,我沒有任何錯誤..但圖表是空的。似乎沒有收到價值..我不明白..真的 –

+1

你得到一個空指針異常與一個版本,並與另一個空圖 - 這表明你可能傳入一個空數據對象。可能新版本非常聰明,可以檢查並且不會崩潰,但它不能完全繪製任何內容。 –

相關問題