Flutter Isolate.kill() with NATIVE allocate



我在我的状态小部件中通过Isolate.spawn()创建一个隔离。

小部件处理完毕后,GC会自动清洗隔离物吗? 还是有必要手动杀死隔离物?

如果需要手动清洁,isolate.kill()是否足够?receivePort.close()呢? 哪个操作就足够了,isolate.kill()还是receivePort.close()? 或者要么就足够了?还是两者都需要?

如果两者都需要,先哪个操作,哪个第二个? 订单重要吗?

在生成的隔离中,我分配了一些NATIVE结构和数组。 当隔离关闭时,这些本机结构和数组会自动释放吗? 还是有必要手动释放这些本机指针?

如果需要手动释放,在receivePort.listen()中注册的 [onDone] 函数中释放这些指针是否安全? 而且,打电话给isolate.kill(priority: Isolate.immediate)安全吗?Isolate.immediate会确保指针的释放吗? 还是我应该选择Isolate.beforeNextEvent

读取compute函数的实现。我可以肯定地说,您需要手动退出隔离。使用isolate.kill()Isolate.exit()

最新更新