首页 > 其他分享 >flutter开发Invalid argument(s): Illegal argument in isolate message: object is unsendable - Library:&#

flutter开发Invalid argument(s): Illegal argument in isolate message: object is unsendable - Library:&#

时间:2024-09-09 17:48:08浏览次数:12  
标签:run 变量 Illegal isolate 隔离区 argument compute zhangsan Class

Invalid argument(s): Illegal argument in isolate message: object is unsendable - Library:'dart:async' Class

1. 问题原因:

使用flutter isolate的时候新开的isolate访问了其他isolate的变量导致的
比如下面例子是错误的写法:

final zhangsan = "张三"; // 这里变量是 主隔离区 声明的变量
//run方法在新开的isolate(compute新开的 子隔离区 )中运行,不是在 主隔离区 运行
void run(String name){
  debugPrint(zhangsan);  //这里是 子隔离区,使用 主隔离区 的变量zhangsan,导致了object is unsendable错误
}
compute(run,"");//compute会新开一个isolate(这里称为 子隔离区)执行run方法

1. 解决方法:

在子隔离区的方法,不能直接访问主隔离的变量的,但是compute方法不是有个传递参数的地方吗?我们只能通过传参的方式把需要访问的变量传递过去给子隔离区的方法使用
比如下面例子是正确的写法:

final zhangsan = "张三"; // 这里变量是 主隔离区 声明的变量
//run方法在新开的isolate(compute新开的 子隔离区 )中运行,不是在 主隔离区 运行
void run(String name){
  debugPrint(name);  //这里是 子隔离区,不能直接使用 主隔离区 的zhangsan ,但是可以访问主隔离区传递过来的变量name
}
compute(run,zhangsan);//compute会新开一个isolate(这里称为 子隔离区)执行run方法,这里同时将 主隔离区 的变量zhangsan传递过去

标签:run,变量,Illegal,isolate,隔离区,argument,compute,zhangsan,Class
From: https://www.cnblogs.com/yongfengnice/p/18404991

相关文章

  • 《机器学习》—— XGBoost(xgb.XGBClassifier) 分类器
    文章目录一、XGBoost分类器的介绍二、XGBoost(xgb.XGBClassifier)分类器与随机森林分类器(RandomForestClassifier)的区别三、XGBoost(xgb.XGBClassifier)分类器代码使用示例一、XGBoost分类器的介绍XGBoost分类器是一种基于梯度提升决策树(GradientBoostingDecision......
  • java.lang.IllegalArgumentException: input == null! 解决方法
    最近在编一个Java游戏,处理图片时遇到如下问题:完整错误信息Exceptioninthread"AWT-EventQueue-0"java.lang.IllegalArgumentException:input==null! atjava.desktop/javax.imageio.ImageIO.read(ImageIO.java:1356) atImageIOTest.main.<init>(main.java:23)代码片......
  • class 4: vue.js 3监听器 watch
    某些情况下需要监听某个响应式数据的变化,这时就需要使用监听器(watch)来实现了watch的使用语法如下选项:watch类型:{[key:string]:string|Function|Object|Array}详解:watch属性是一个对象,该对象的键(key)是需要观察的表达式,值(value)可以是回调函数、方法名等。Vu......
  • Maven打包本地jar包提示程序包xx.xx不存在,NoClassDefFoundError
    Maven打包无法加载本地jar包,打包成功运行jar包提示java.lang.NoClassDefFoundError项目引用了本地jar包,如加密、私有协议等,未发布到Maven服务器,以jar包形式在项目中引用,正常开发时未出现问题,Maven打包执行mvnpackage时提示“程序包xx.xx不存在”。原因......
  • 一文了带您了解 ES6 Class 用法
    文章目录一、概述二、用法2.1基础用法2.2封装与继承2.3继承一、概述ES6中的class是基于JavaScript中的一个强大的属性,也就是原型属性prototype,由这个属性改良得来的一种语法糖。在ES6中,class(类)作为对象的模板被引入,可以通过class关键字定义类。class的本......
  • 《Represent, Compare, and Learn: A Similarity-Aware Framework for Class-Agnostic
    摘要论文提出了一个用于类别无关计数(Class-AgnosticCounting,CAC)的相似性感知框架。类别无关计数的目标是在给定少量示例的情况下,对查询图像中的所有实例进行计数。该框架通过联合学习表示和相似性度量来改进计数性能。作者首先提出了一个基础的双线性匹配网络(BilinearMatc......
  • java.lang.ClassNotFoundException: net.logstash.logback.appender.LogstashTcpSocke
    出现以下错误,是因为项目缺少依赖:atorg.springframework.boot.logging.logback.LogbackLoggingSystem.reportConfigurationErrorsIfNecessary(LogbackLoggingSystem.java:189)atorg.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(Log......
  • Java字节码文件、组成,jclasslib插件、阿里arthas工具,Java注解
    文章目录一、字节码文件1.1以正确的方式打开文件1.2字节码文件的组成1.2.1基础信息1.2.2常量池1.2.3方法1.3字节码常用工具1.4总结二、Java注解2.1什么是Java注解2.2注释和注解Annotation的区别(掌握)2.3如何使用注解(掌握)2.4Java中已经存在的注解(掌握)2.5自定义注解(了解)2.......
  • UML class diagrams and UML interaction diagrams
    Assignment1LearningOutcomes&MaterialsThisassignmentisintendedtodevelopandassessthefollowingunitlearningoutcomes:LO1.Iterativelyapplyobject-orienteddesignprinciplestodesignsmalltomedium-sizesoftwaresystems,usingstandard......
  • k8s创建nfs+StorageClass
    什么是StorageClass前置准备nfsservernfsserver地址:192.168.2.152nsfpath:/datak8s集群集群版本:1.22容器:containerd1.6创建rbac参考https://github.com/kubernetes-retired/external-storage/blob/master/nfs-client/deploy/rbac.yamlapiVersion:v1kind:Ser......