了解Firebase错误日志

时间:2017-06-23 23:22:46

标签: android android-fragments firebase

我的Android应用中的通知和片段取得了一定的成功,但我偶尔会在Firebase错误日志中收到错误,如下所示

虽然很少发生,但是在3个月内,应用程序中每10,000次通知大约有5-6次,这有点令人讨厌,因为通知丢失了(可能是可接受的崩溃级别!)

如果可以的话,我喜欢在我的代码中修复它,但我不太明白这个日志告诉我的内容

对你来说有什么意义吗?任何帮助表示赞赏

NullPointerException - FragmentManagerImpl.execSingleAction

Exception java.lang.NullPointerException:

android.support.v4.app.FragmentManagerImpl.execSingleAction (FragmentManager.java:1623)
android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss (BackStackRecord.java:637)
android.support.v4.app.FragmentPagerAdapter.finishUpdate (FragmentPagerAdapter.java:143)
android.support.v4.view.ViewPager.setAdapter (ViewPager.java:511)
com.support.android.policeman.MainActivity.setupViewPager (MainActivity.java:156)
com.support.android.policeman.MainActivity.refreshFragments (MainActivity.java:454)
com.support.android.policeman.MainActivity$7.run (MainActivity.java:425)
android.os.Handler.handleCallback (Handler.java:730)
android.os.Handler.dispatchMessage (Handler.java:92)
android.os.Looper.loop (Looper.java:176)
android.app.ActivityThread.main (ActivityThread.java:5419)
java.lang.reflect.Method.invokeNative (Method.java)
java.lang.reflect.Method.invoke (Method.java:525)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1046)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:862)
dalvik.system.NativeStart.main (NativeStart.java) 

好的,所以我有点像新手。但是,感谢@altskop关于如何理解这个日志的提示,下面是它抛出致命错误的代码位置(viewPager.setAdapter(adapter)确实是第156行)

private void setupViewPager(ViewPager viewPager) {
    Adapter adapter = new Adapter(getSupportFragmentManager());
    adapter.addFragment(new SenderListFragment(), "Loopy");
    adapter.addFragment(new MessageListFragment(), "Poopy");
    adapter.addFragment(new ContactListFragment(), "Scoopy");
    viewPager.setAdapter(adapter);
}

新适配器创建的原因是否有效,如果返回null,我该怎么办?

1 个答案:

答案 0 :(得分:0)

这个特殊的方法.MainActivity.setupViewPager(MainActivity.java:156)在你的应用程序中做了什么?我猜它会访问一些变量,根据日志,偶尔会对这个变量进行初始化,从而抛出NullPointerException。检查您对其执行的操作,并确保在被调用之前始终初始化它。