Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android端 Fragment 包含的 Flutter 页面 首次启动 没有初始化 白屏或黑屏 #1483

Open
zhoutongbie opened this issue Nov 25, 2021 · 4 comments

Comments

@zhoutongbie
Copy link

zhoutongbie commented Nov 25, 2021

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

@hello-soon
Copy link

hello-soon commented Nov 25, 2021

'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. (package:flutter_boost/flutter_boost_app.dart:95:7)(Unknown Source:0)
at flutter.#3 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)(Unknown Source:0)
at flutter.#4 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1090:9)(Unknown Source:0)
at flutter.#5 SchedulerBinding.scheduleWarmUpFrame. (package:flutter/src/scheduler/binding.dart:865:7)(Unknown Source:0)
at flutter.#6 _rootRun (dart:async/zone.dart:1346:47)(Unknown Source:0)
at flutter.#7 _CustomZone.run (dart:async/zone.dart:1258:19)(Unknown Source:0)
at flutter.#8 _CustomZone.runGuarded (dart:async/zone.dart:1162:7)(Unknown Source:0)

@hu5980
Copy link

hu5980 commented Nov 30, 2021

_addAppLifecycleStateEventListener

VoidCallback addEventListener(String key, EventListener listener) {
return _appState!.addEventListener(key, listener);
}
感觉是这个_appState 强制解包造成的

@kiloshell
Copy link

mark

@OnClickListener2048
Copy link

解决了吗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants