alibaba / alibaba/flutter_boost
com.idlefish.flutterboost.interfaces.IOperateSyncer.onDisappear() on a null object reference
- Dominant language
- Dart
- Stars
- 7.2k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Description
Android内存不足被回收,启动app,会报如下错误。
麻烦大神们看下,被回收重新进入,FlutterActivityAndFragmentDelegate不会执行onCreateView,导致mSyncer没被赋值。能否将下面初始化再onAttach中处理
mSyncer = FlutterBoost.instance().containerManager().generateSyncer(this);
异常信息如下:
java.lang.NullPointerException: Attempt to invoke interface method void com.idlefish.flutterboost.interfaces.IOperateSyncer.onDisappear() on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2688)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2749)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThreadH.handleMessage(ActivityThread.java:1498)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:160)
at android.app.ActivityThread.main(ActivityThread.java:6200)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInitMethodAndArgsCaller.run(ZygoteInit.java:874)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764)
Caused by: java.lang.NullPointerException: Attempt to invoke interface method void com.idlefish.flutterboost.interfaces.IOperateSyncer.onDisappear() on a null object reference
at com.idlefish.flutterboost.containers.FlutterActivityAndFragmentDelegate.onPause(FlutterActivityAndFragmentDelegate.java:201)
at com.idlefish.flutterboost.containers.FlutterFragment.onHiddenChanged(FlutterFragment.java:321)
at android.support.v4.app.j.e(FragmentManager.java:1763)
at android.support.v4.app.j.f(FragmentManager.java:1822)
at android.support.v4.app.c.g(BackStackRecord.java:797)
at android.support.v4.app.j.b(FragmentManager.java:2625)
at android.support.v4.app.j.a(FragmentManager.java:2411)
at android.support.v4.app.j.b(FragmentManager.java:2366)
at android.support.v4.app.j.h(FragmentManager.java:2273)
at android.support.v4.app.j.b(FragmentManager.java:814)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in FlutterActivityAndFragmentDelegate.onPause(), where the stack trace reports the null IOperateSyncer call, and compare its lifecycle with FlutterFragment.onHiddenChanged(). Review the reported initialization in onAttach and the existing onCreateView path. Done means reproducing an Android low-memory relaunch without the NullPointerException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, flutter, java
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100