- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 Android 市场的开发者控制台中,我们得到了很多这样的堆栈跟踪(当我们的应用崩溃时由用户发送):
java.lang.NullPointerException at
android.view.ViewRoot.updateBidiOptions(ViewRoot.java:290) at
android.view.ViewRoot.performTraversals(ViewRoot.java:737) at
android.view.ViewRoot.handleMessage(ViewRoot.java:1792) at
android.os.Handler.dispatchMessage(Handler.java:99) at
android.os.Looper.loop(Looper.java:143) at
android.app.ActivityThread.main(ActivityThread.java:5068) 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:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) at
dalvik.system.NativeStart.main(Native Method)
我们无法重现崩溃,而且当我们检查 Android 源代码时,没有名为 updateBidiOptions 的方法。用户评论似乎表明当他们关注 EditText
时会发生崩溃。许多用户还提到这发生在 HTC Desire HD 上,但它并没有在我们这里的 Desire 上崩溃。
我们如何解决这个问题?
最佳答案
通常,当您在堆栈跟踪中看到不涉及您自己的任何代码的 NPE 时,有时您已将 null 作为参数传递给您不应该传递的 Android 框架。
因此,如果您在代码中有任何地方可能会怀疑是否将 null 作为选项传递,请仔细检查您是否被允许这样做。
否则,此崩溃发生在哪个 Android 版本上?
如果我们有正确的 android.view.ViewRoot.updateBidiOptions(ViewRoot.java:290)
源,我们应该能够看到引用的引用是空引用。然后从那里退后一步,直到我们看到您的来源提供的引用资料(这可能也是空的)。
但是,当我在 Gingerbread 克隆中查看 ViewRoot.java 的源代码时,我什至没有看到 updateBidiOptions()
方法。因此,我需要知道所使用的大致 Android 版本,以便对它可能是哪个引用做出有根据的猜测。
关于android - 如何修复 ViewRoot#updateBidiOptions 中的 NPE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5536164/
目前,我的经验是,一段利用Google Drive API的代码在没有引入ProGuard的情况下运行得很好。。然而,在引入ProGuard之后,我得到了以下运行时错误。。请注意,崩溃发生在我的代码(
今天早上我遇到了一个非常奇怪的 NPE,并将其简化为一个简单的示例。这是 JVM 错误还是正确的行为? public class Test1 { class Item { In
在 crashlytics 中报告的 NPE 仅适用于 Android O 及更高版本。我只是在 onCreate 方法中 startForegroundService 和服务 startForgro
运行以下内容: public class NPESample { String value; public static void main(String[] args) { NPES
我有一个非常简单的 OpenAPI/Swagger 配置 (openapi.yaml): swagger: '2.0' info: title: My Service version: 1.0
我正在使用 com.sun.media.imageioimpl.plugins.tiff.TIFFPackBitsCompressor 尝试对使用 PackBits 的 tiff 字节数组进行编码。我
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) findViewById returns null
我有一个处理大量数据的批处理作业。该作业基本上从源数据库获取数据并进行 Web 服务调用,然后将数据写入目标数据库。今天我遇到了“NPE”,我在其中检查 XML 是否有“成功”响应。我检查其中一个节点
这个问题已经有答案了: Why does a ternary conditional expression returning null and assigned to a reference typ
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 4 年前。 我正在尝试从 bundle 内的
我试图在我的应用程序中每隔一分钟执行一项任务,我使用以下内容来实现相同的目的。代码位于onCreate方法内部: mTimer.scheduleAtFixedRate(new TimerT
所以我正在使用集合设计模式并使用数组列表。每当我尝试向数组列表中添加某些内容时,我都会收到 NPE。我可能错误地实现了该集合,因此出现了 NPE。 我不想复制我的整个代码,因为它太长了,所以我试图给你
我想将自定义对话框的一个区域设置为所选图像。如果我设置整个应用程序的背景图像,下面的代码可以进行一些重新安排。由于某种原因,当我移动它来设置自定义对话框的区域时,我收到以下错误: 错误: 11-03
所以我觉得自己像个白痴,但我正在尝试实现碰撞检测,并且我需要检查玩家旁边是否有方 block 。当我去检查时,我首先会看看我要找的瓷砖是否真的在那里。如果是,我将继续选择该图 block 并从中创建一
在 OS X 10.11 上,我们的应用程序用户会遇到一些没有堆栈跟踪的 NPE(请参阅 this stackoverflow-question)。我现在想自己创建一个来调试这种情况下的错误处理。 如
我有一个非常简单的 OpenAPI/Swagger 配置 (openapi.yaml): swagger: '2.0' info: title: My Service version: 1.0
我正在尝试为名为 getBestSellers() 的方法编写单元测试。 这里是: package bookstore.scraper.book.scrapingtypeservice; import
为什么我在以下作业中获得 NPE: mPyramid[row][column] = temp; 这是我的代码: Block temp; Block[][] pyramid =
为什么这段代码会导致NPE? Findbugs 给了我提示,这种情况可能会发生,而且有时确实会发生:-) 有什么想法吗? public Integer whyAnNPE() { return
我正在尝试运行客户端并访问字段来设置/获取值。当脚本启动时,我创建一个加载了 URLClassLoader 的客户端类的新实例,并将其分配给 gameApplet。 现在,下一段代码可以正常工作(访问
我是一名优秀的程序员,十分优秀!