首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Flutter ffi实践录

最近琢磨着要给自己的 APP 接一个日志收集的 SDK 备用。考虑到一个问题,目前大多数开源的日志库,例如美团的 Logan 和腾讯的 XLog ,日志的存取都选择了使用 mmap 建立内存文件映射来提升读写效率和日志防丢。如果直接封装 plugin 调用 Android、iOS平台代码的话,就会出现 Flutter -> Platform -> Native 的情况。很显然,这种调用是没有必要的。那可以直接 Dart 调用 C/C++ 吗?答案是可以的。 实践了一下 Flutter 通过 ffi 包调用 native C/C++ 代码,ffi 代表 Foreign function interface (外部函数接口),入门实践 可以在 Flutter 的官方文档(https://flutter.cn/docs/development/platform-integration/c-interop)中找到。 我们使用 DynamicLibrary 来加载 C/C++ 编写的动态库。在 iOS 中,可以直接在源代码目录写,在Android 中则需要在 Gradle 中配置 CMakeList 。 接下来我们以接入 Logan 的 C 代码为例来实践一下,关于 Logan ,可以参考它的 github (https://github.com/Meituan-Dianping/Logan)。

02

HarmonyOS特点与应用前景分析

一直以来,智能手机与平板电脑等移动设备的操作系统(Operating System,OS),主要由苹果公司开发的iOS移动操作系统和Google公司开发的Android操作系统所占据。这种局面除将我国广阔的市场让给了国外公司外,更是对国家安全和稳定造成隐忧。特别是今年以来西方的一些国家不断对我国高科技产业进行围堵,使我国以5G为代表的智能手机和移动通信面临严峻考验。2019年8月9日的华为开发者大会上,华为消费者业务CEO余承东正式对外宣布,华为公司推出全新的基于微内核、面向全场景、适配多终端的鸿蒙系统(HarmonyOS),而且只需1~2天就可将现有设备中的安卓系统迁移到HarmonyOS。任 正 非 更 是 直 接 指 出 鸿 蒙 OS或 许 有 一 天 超 越Android/iOS的可能性。

03
领券