1分钟
09 线程
在闲鱼技术的 深入理解Flutter Platform Channel 中有讲到:Flutter中有四大线程,Platform Task Runner 、UI Task Runner、GPU Task Runner 和 IO Task Runner。
其中 Platform Task Runner
也就是 Android 和 iOS 的主线程,而 UI Task Runner
就是Flutter的 UI 线程。
如下图,如果做过 Flutter 中 Dart 和原生端通信的应该知道,通过 Platform Channel
通信的两端就是 Platform Task Runner
和 UI Task Runner
,这里主要总结起来是:
- 因为 Platform Task Runner 本来就是原生的主线程,所以尽量不要在 Platform 端执行耗时操作。
- 因为Platform Channel并非是线程安全的,所以消息处理结果回传到Flutter端时,需要确保回调函数是在Platform Thread(也就是Android和iOS的主线程)中执行的。
学员评价