gpt4 book ai didi

Flutter 处理 MethodChannel

转载 作者:行者123 更新时间:2023-12-05 04:59:17 33 4
gpt4 key购买 nike

有没有办法在不需要时处理 MethodChannel/EventChannel ?我问是因为我想为对象创建多个方法/事件 channel 。

例子:

class Call {
... fields ...
MethodChannel channel;

Future<void> answer() {
return channel.invokeMethod('@answer')
}
}

对于每个 Call 对象,我希望它有自己的 channel ,这样我就可以将消息发送到 native 部分,而无需 1 个方法 channel 来处理调用的所有逻辑。

是否建议使用 1 个 channel ?

谢谢

最佳答案

channel 本身只是一个名称的包装器,具有与 BinaryMessenger 一起使用的便捷方法。仅当您使用 setMethodCallHandler 设置回调时,回调(可能还有您的对象)由信使持有,并且您必须再次调用 setMethodCallHandler使用 null 来释放您的对象。

因此,您可以创建和使用任意数量的 channel ,只要它们具有不同的名称即可,无需处理。但是,当您收听使用channel.setMethodCallHandler(yourCallback) 调用方法时,您需要调用channel.setMethodCallHandler(null)这样做是为了避免泄露您的回调。

关于Flutter 处理 MethodChannel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63567192/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com