java - Android 应用程序崩溃 java.lang.RuntimeException
问题描述
在一个新发布的使用远程数据库获取数据的游戏 (android) 中,我每天都会收到许多应用程序崩溃报告,这些报告我无法重现,或者我在多个真实设备和虚拟设备上的测试中没有遇到过。最高崩溃报告是:
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity
(ActivityThread.java:2805)
at android.app.ActivityThread.handleLaunchActivity
(ActivityThread.java:2883)
at android.app.ActivityThread.-wrap11 (Unknown Source)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1613)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:164)
at android.app.ActivityThread.main (ActivityThread.java:6523)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run
(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:857)
Caused by: java.lang.NullPointerException:
at com.my.app.activity.LevelActivity.onCreate (LevelActivity.java:82)
at android.app.Activity.performCreate (Activity.java:7023)
at android.app.Activity.performCreate (Activity.java:7014)
at android.app.Instrumentation.callActivityOnCreate
(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity
(ActivityThread.java:2758)
例如 LevelActivity.java:82 :
levelNo = MainActivity.dbHelper.GetLevelById(Constant.CATE_ID, Constant.SUB_CAT_ID);
和 oncreate 直到与 NPE 一致:
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_level);
Utils.transparentStatusAndNavigation(LevelActivity.this);
layout = findViewById(R.id.layout);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
layout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
toolbar = findViewById(R.id.toolBar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle(R.string.select_level);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed();
}
});
recyclerView.setLayoutManager(new LinearLayoutManager(LevelActivity.this));
levelNo = MainActivity.dbHelper.GetLevelById(Constant.CATE_ID, Constant.SUB_CAT_ID);
我不知道从哪里开始,因为我从未遇到过此错误或类似的崩溃
与此应用程序相关的所有崩溃都是:java.lang.NullPointerException
这不是一个重复的问题,因为提议的原始问题中描述的方法在这里不适用。
我无法重现错误,我该如何调试?
不是所有的头痛都能用阿司匹林消失
解决方案
推荐阅读
- python - 我如何提取(.find())没有类的div
- http - 通过邮递员而不是通过java代码在elasticsearch中查询
- amazon-web-services - 使用 hive 删除 dynamoDB 记录
- c++ - 为什么 gflags“启用堆尾检查”不能在 Windows 上单独工作?
- python - Missing gradient when using tf.function
- mysql - MySQL:为什么当我使用 EXCEPT 从原始选择中排除某些行时会出现错误?
- python - 在 Python 中为文件预分配磁盘空间而不改变其大小
- python - 在没有 shell=True 的情况下运行时缺少最后几行子进程输出
- c# - c#) 如何在不复制新数组的情况下引用 1mb 字节数组的内容
- sql - 使用 TempTable 在 SQL 中循环