首页 > 解决方案 > 由于 iOS 上的商店数量,PouchDB 速度变慢

问题描述

我目前正在编写一个混合应用程序,它使用 IndexedDB + PouchDB 来缓存来自 REST 端点的几条信息。每个端点都保存到 PouchDB 存储中,因此存储诸如“/location”、“/users”、“/products”等。我注意到,当我开始打开更多new PouchDB(name)s 时,我的应用程序开始在我的 iOS 设备上变慢运行 iOS 13。在我的 android 10 设备上,我的应用程序的性能要好得多,但仍然不是很好。

在应用程序的初始启动时,会触发几个 fetch 请求以将所需的 REST 端点的响应存储到不同的 PouchDB 存储(大约 60 个左右的存储)中。

浏览应用程序时,您可以点击某些项目以获取有关该项目的更多信息。附加信息存储在 PouchDB 中,因此pouchDB.find()用于从该存储中检索数据。

+-----------+------------+------------+
|  device   |   Launch   | navigation |
+-----------+------------+------------+
| ios13     | 13minutes  | 3.5seconds |
| android10 | 91seconds  | 0.6seconds |
+-----------+------------+------------+

从我的应用程序的性能测试来看,iOS 似乎需要更长的时间来完成相同的任务。因为导航之类的东西应该从 PouchDB 中的缓存值而不是 REST 端点中提取。

我想知道是否有其他人经历过由于拥有多个 PouchDB 商店而导致的这种类型的减速?如果是这样,您是否有任何解决方法或解决方案来解决 iOS 上多个商店的性能问题?

标签: javascriptiosindexeddbpouchdb

解决方案


推荐阅读