5

在颤振中使用 dart:ffi 编写代码与在颤振中使用方法 chanel 编写代码有什么区别。

4

1 回答 1

1

dart:ffi用于调用 C/C++ 代码 - 通常用于重用现有的 C/C++ 库 - 通常是 CPU 密集型操作,如编解码器、图像处理、密码学。C 代码对系统 API 的访问受限。

方法通道用于访问底层环境及其 API - 因此在 Android 上用 Kotlin 或 Java 编写,在 iOS 和 macOS 上用 Swift 或 Objective C 编写,在 Flutter Web 上用 Dart 编写。

因此,例如,如果您想读取设备的电池电量,您需要使用方法通道并以其本地语言(例如 Android 的 Java)实现本地 API 调用。相反,如果要调用实现加密哈希的 C 库,最简单的方法是使用ffi.

查看 Flutter Week视频ffi,了解调用 Android NDK/Oboe 音频库的新颖用法。

于 2020-05-19T23:22:19.717 回答