我正在学习 dart/flutter 中的隔离,在几乎文档中说隔离不共享内存,但它没有说明隔离中有多少最大内存。它是受应用程序最大内存限制还是每个隔离都有单独的内存空间并且不依赖于应用程序分配的总初始内存?
感谢您的帮助。
更新
我在Dart 词汇表中找到了信息:“ Dart 通过隔离支持并发执行,您可以将其视为没有开销的进程。每个隔离都有自己的内存和代码,不受任何其他隔离的影响”
我正在学习 dart/flutter 中的隔离,在几乎文档中说隔离不共享内存,但它没有说明隔离中有多少最大内存。它是受应用程序最大内存限制还是每个隔离都有单独的内存空间并且不依赖于应用程序分配的总初始内存?
感谢您的帮助。
更新
我在Dart 词汇表中找到了信息:“ Dart 通过隔离支持并发执行,您可以将其视为没有开销的进程。每个隔离都有自己的内存和代码,不受任何其他隔离的影响”
见https://github.com/dart-lang/sdk/issues/34886
您可以使用 --old_gen_heap_size 以兆字节为单位设置内存限制。
您可以通过设置环境变量来指定此类选项,例如
DART_VM_OPTIONS="--old_gen_heap_size=2048 --observe"
内存似乎是针对整个 VM 实例的,而不是针对每个隔离的。
要获得所有可用选项,请使用
dart --help --verbose
或者
dart -h -v