Flutter 弗利特、摩尔和工作经理
我正在开发一个flatter应用程序(当时只针对Android,但计划稍后提供iOS支持)。该应用程序以两种方式运行:Flutter 弗利特、摩尔和工作经理,flutter,dart-isolates,flutter-moor,Flutter,Dart Isolates,Flutter Moor,我正在开发一个flatter应用程序(当时只针对Android,但计划稍后提供iOS支持)。该应用程序以两种方式运行: 使用大多数业务逻辑(前台隔离,从主方法开始)的颤振UI(FG) 使用android WorkManager(使用颤振背景隔离)在后台执行的一些自动任务(BG) 两个分离株都在使用数据库 因为我们需要以“线程安全”的方式使用数据库,所以我们尝试使用Moor数据库框架,通过Moor_ffi接口与SQLite服务器进行通信 摩尔声称通过产卵第三个分离物(摩尔索体)来实现它的“线程
- 使用大多数业务逻辑(前台隔离,从主方法开始)的颤振UI(FG)
- 使用android WorkManager(使用颤振背景隔离)在后台执行的一些自动任务(BG)
- 两个分离株都在使用数据库
在与moor开发者沟通和我自己的经验测试后,我得出以下结论:
- 如果隔离体死亡,则从其产生的所有隔离体也随之死亡。这意味着,如果MoorIsolate是从FG分离物中产生的,并且FG分离物被任何方法停止,MoorIsolate将随之死亡
- moor_ffi为android提供线程安全版本的sqlite。这意味着可以在FG中产卵驼峰菌,并为BG分离驼峰菌(或根本没有驼峰菌)
- IsolateNameServer是在FG和BG隔离之间传递端口的唯一方法。然而,仍然可能存在比赛条件