2011-05-02 39 views
0

根据开发者控制台上的崩溃报告,我的Android应用程序中经常发生错误。Android - 我该如何修复基于此异常跟踪的错误?

java.lang.NullPointerException 
at android.widget.AbsListView.obtainView(AbsListView.java:1304) 
at android.widget.ListView.measureHeightOfChildren(ListView.java:1198) 
at android.widget.ListView.onMeasure(ListView.java:1109) 
at android.view.View.measure(View.java:8171) 
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 
at android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 
at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 
at android.view.View.measure(View.java:8171) 
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 
at android.view.View.measure(View.java:8171) 
at android.widget.LinearLayout.measureVertical(LinearLayout.java:526) 
at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 
at android.view.View.measure(View.java:8171) 
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 
at android.view.View.measure(View.java:8171) 
at android.view.ViewRoot.performTraversals(ViewRoot.java:801) 
at android.view.ViewRoot.handleMessage(ViewRoot.java:1727) 
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:878) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) 
at dalvik.system.NativeStart.main(Native Method) 

不幸的是,我无法在Android手机上复制该错误。

我不知道从哪里开始:在跟踪中没有任何对我的代码的引用。

有人可以给我一些关于如何找出问题根源的建议吗?

感谢,

回答

3

最明显的事情,我能想到的:

  1. AbsListView.obtainView()相信与采纳者通信来填充列表视图。确保永远不会有可以将空返回到列表视图的情况。

  2. 某些版本的平台可能存在错误。不幸的是,开发者控制台目前不会显示错误报告来自的平台版本。希望这将在未来添加,以帮助诊断这种情况。

  3. 可能有人正在运行具有错误的平台的非标准或定制版本。您可以通过查看错误来自的不同设备的“平台”部分来确定这一点。

0

我会尝试创建一个虚拟设备,并在模拟器中加载它,用最小的分辨率启动。

我怀疑它与屏幕尺寸有关,你试图画一个不存在的像素。