-
由于工程是Flutter+原生混合开发,并且进入APP的第一个页面(登录页面)就是Flutter页面
-
MMKV官方写法在main()函数里使用await初始化,为了保证即时初始化,然而await 会导致iOS12及以下的系统到登录页会卡死在白屏页(只有在release包下才会这样,原因未知)
-
解决方法:把await去掉(由于第一个Flutter页面没有使用到MMKV,所以可以去掉await,如果有使用到去掉了await可能会引发未初始化就使用的问题)
//业务页面
void main() {
runZoned(() async {//全局异常捕获
// await KVStorage.init(); await 会导致iOS12及以下的系统到登录页会白屏
KVStorage.init();
runApp(MyApp());
DataService.instance.registerEvent();
}, onError: (error, stackTrace) async {
if(error!=null && error.toString().isNotEmpty) {
var errorDetail = FlutterErrorDetails(exception: error, stack: stackTrace)
.toString();
Logger.write(errorDetail);
//回传给native上报error信息
PlatformChannelManager.getMethodChannel().invokeMethod(Method.errorUpload,
FlutterErrorDetails(exception: error, stack: stackTrace).toString());
}
});
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。