⚔️ A common architecture for Android applications developing based on MVP, integrates many open source projects, to make your developing quicker and easier (一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架).
Stack trace:
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.包名省略.mvp.presenter.DeviceOperationPresenter.f()' on a null object reference
at com.包名省略.mvp.ui.fragment.devices.DeviceOperationFragment.initData(DeviceOperationFragment.java:179)
at com.jess.arms.base.a.g.b(FragmentDelegateImpl.java:74)
at com.jess.arms.b.g.onFragmentActivityCreated(FragmentLifecycle.java:85)
at android.support.v4.app.FragmentManagerImpl.dispatchOnFragmentActivityCreated(FragmentManager.java:3490)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1445)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1752)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1821)
at android.support.v4.app.BackStackRecord.executePopOps(BackStackRecord.java:855)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2592)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2382)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2337)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2244)
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:783)
at android.support.v4.app.FragmentationMagician$4.run(FragmentationMagician.java:134)
at android.support.v4.app.FragmentationMagician.hookStateSaved(FragmentationMagician.java:194)
at android.support.v4.app.FragmentationMagician.executePendingTransactionsAllowingStateLoss(FragmentationMagician.java:131)
at me.yokeyword.fragmentation.k$15.a(TransactionDelegate.java:172)
at me.yokeyword.fragmentation.b.b.a(ActionQueue.java:53)
at me.yokeyword.fragmentation.b.b.b(ActionQueue.java:45)
at me.yokeyword.fragmentation.b.b.a(ActionQueue.java:17)
at me.yokeyword.fragmentation.b.b$1.run(ActionQueue.java:37)
at android.os.Handler.handleCallback(Handler.java:792)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:6701)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:246)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:783)
Look at here
Environment
Bug Description:
首先这个Bug我自己没有复现出来,但是在同事的手机上面出现过一次,在Bugly上也出现过多次,就是在
Fragment
中的mPresenter
为空了。 项目中引入了Fragmentation
,所以重写了Fragment
,在项目中将mPresenter 置空的操作只有如下代码,将从原来的onDestory
提前到了onDestroyView
,(不确定是不是因为这个的原因,因为自己想尽办法了,还是没有复现,也就是说我自己运行是正常的):Related Code:
报错代码
Bug Log:
Others:
问了群友,有的说是Dagger2注入的问题,我看了一下代码实在
onCreate
里面注入的,initData
实在onActivityCreate
调用的,所以我觉得应该是已经注入的了,以下是相关源码子类实现注入方法:
麻烦作者帮忙看一下了,感激不尽