Flutter应用程序-获取连续错误“应用程序可能在其主线程上做了太多工作”

cwtwac6a  于 2023-10-22  发布在  Flutter
关注(0)|答案(1)|浏览(117)

在VSCode调试控制台中获得连续错误,如:
I/编舞(16759):跳过了35帧!应用程序可能在其主线程上执行了太多的工作。E/eglCodecCommon(16759):glUtilsParamSize:未知参数0x 000085 b5 I/chatty(16759):uid=10089(u0_a89)RenderThread相同的2行E/eglCodecCommon(16759):glUtilsParamSize:未知参数0x 000085 b5 I/编舞(16759):跳过了35帧!应用程序可能在其主线程上执行了太多的工作。E/eglCodecCommon(16759):glUtilsParamSize:未知参数0x 000085 b5 I/chatty(16759):uid=10089(u0_a89)RenderThread相同的2行E/eglCodecCommon(16759):glUtilsParamSize:未知参数0x 000085 b5 I/编舞(16759):跳过了35帧!应用程序可能在其主线程上执行了太多的工作。
在添加firebase_admob插件并初始化FirebaseAdmob示例后,此错误开始在调试控制台中显示,就像一个无限循环,从而使应用程序变慢/挂起。

FirebaseAdMob.instance
        .initialize(appId: "ca-app-pub-123457890xxxxxx~1234567890")
        .then((response) {
          print("starting admob >>>>>>>>>");
      myBanner
        ..load()
        ..show(anchorOffset: 0.0, anchorType: AnchorType.bottom);
    });

注解firebaseadmob初始化后,错误消失。我的admob版本是firebase_admob:0.6.1
我该怎么办?

tv6aics1

tv6aics11#

要解决此问题,您可以 Package initializeFirebase函数以返回一个值,即使在此上下文中不需要它。你可以这样修改你的代码:
在你的background_tasks.dart文件中,对initializeFirebase函数做一个小小的修改:
import 'package:firebase_core/firebase_core';
Future initializeFirebase(_){ await Firebase.initializeApp();}
main.dart文件中,像这样调用initializeFirebaseOnBackgroundIsolate函数:
import 'package:flutter/material. dart'; import 'package:flutter/foundation. dart';//导入>compute的基础包
import 'background_tasks. dart';//导入后台任务文件
public void main()}; return();}
Future initializeFirebaseOnBackgroundIsolate(){ await compute(initializeFirebase,null);}

相关问题