flutter_boost
flutter_boost copied to clipboard
Android端 Fragment 包含的 Flutter 页面 首次启动 没有初始化 白屏或黑屏
Android端 Fragment 包含的 Flutter 页面 首次启动 没有初始化 白屏或黑屏
App是登录后展示4个Tab。4个Tab是原生写的 tab里面嵌的是 Fragment , Fragment里面放的Flutter页面
mHomeFragment = new CunwFlutterFragment
.CachedEngineFragmentBuilder(CunwFlutterFragment.class)
.url("/home")
.build();
mClasssFragment = new ClasssFlutterFragment
.CachedEngineFragmentBuilder(ClasssFlutterFragment.class)
.url("/classs")
.build();
升级 flutter_boost 从 v3.0-preview.5. 到 v3.0-null-safety-preview.13 支持空安全版本后 Android端出现此问题 IOS端没有问题
日志 2021-11-25 10:36:30.121 29743-29999/cn.com.cunw.teacheraide I/flutter: ══╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞══════════════════════ The following _CastError was thrown during a scheduler callback: Null check operator used on a null value
When the exception was thrown, this was the stack:
#0 BoostChannel.addEventListener (package:flutter_boost/boost_channel.dart:42:21)
#1 FlutterBoostAppState._addAppLifecycleStateEventListener (package:flutter_boost/flutter_boost_app.dart:125:10)
#2 FlutterBoostAppState.initState.<anonymous closure> (package:flutter_boost/flutter_boost_app.dart:102:7)
#3 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15)
#4 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1088:9)
#5 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:863:7)
(elided 11 frames from class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)
════════
overlayKey.currentContext 为null
'v3.0-null-safety-preview.9' 启动报异常
Null check operator used on a null value
at flutter.#0 BoostChannel.addEventListener (package:flutter_boost/boost_channel.dart:31:21)(Unknown Source:0)
at flutter.#1 FlutterBoostAppState._addAppLifecycleStateEventListener (package:flutter_boost/flutter_boost_app.dart:113:10)(Unknown Source:0)
at flutter.#2 FlutterBoostAppState.initState.
_addAppLifecycleStateEventListener
VoidCallback addEventListener(String key, EventListener listener) { return _appState!.addEventListener(key, listener); } 感觉是这个_appState 强制解包造成的
mark
解决了吗