我正在将一个非常简单的标签打印应用程序转换为FlutterSwift。该应用程序的一个主要组件是本地缓存的数据库,用于离线访问产品。
虽然我可以在主线程上下载并缓存所有 12,000 多个产品,但对于如此繁重的操作来说,这是一个非常非常糟糕的解决方案,我真的很想避免这种情况,除非作为最后的手段。即使作为最后的手段,如果后台线程无法完成诸如将在线数据缓存到本地数据库等基本任务,我也很难说服雇主让我从 Swift 迁移到 Flutter。
因此,我一直在探索隔离。在此过程中,每当我
"'Window_sendPlatformMessage' (4 arguments) cannot be found"尝试在.
现在我在github和stackoverflow上读到Isolates 不支持使用插件(可能是包?),除非以一种奇怪的解决方法。我尝试过一个插件,当我尝试使用它时,它只会使我的应用程序崩溃,并出现非常神秘的堆栈跟踪,因此看起来解决方法是唯一的方法。Isolate
我大约一周前才开始使用 flutter 进行构建,大约两天前才开始使用 Isolates,所以目前我对一切的基本了解还很肤浅。在 flutter 存储库上,有一条评论似乎概述了插件问题的解决方法,我希望它允许我使用path_provider和sqflite缓存从 Web API 获取的数据。
更有经验的 Flutter 开发人员能否为我将这个解释分解为婴儿咬伤?
正如下面的答案中所述,sqflite它已经是异步的,并且显然在与主线程不同的线程上运行,因此看起来我的具体情况将通过使用计算来解决我的 dart-pure API 调用以获取 JSON 数据并使用常规sqflite用于存储。尽管如此,仍然需要一个关于不稳定的隔离解决方法的初学者指南,所以我将这个问题留待解决。