【问题标题】:indexedDB.open() takes around 10sec on iOS Safari在 iOS Safari 上 indexedDB.open() 大约需要 10 秒
【发布时间】:2023-04-05 08:44:01
【问题描述】:

我有一个 indexedDB 数据库,用于我 iPhone 上的 Web 应用程序。 最近开始需要更多时间。在诊断这个案例一段时间后,我发现它的发生是因为indexedDB.open() 运行了 10+ 秒。

这是一个小代码示例

var db;
var promise = utils.promise();
var openRequest = indexedDB.open(this.dbName, this.version);

openRequest.onsuccess = function(evt) {
    db = openRequest.result;
    promise.resolve();
};

openRequest.onerror = function(evt) {
    promise.reject();
    onError(evt, 'Database open');
};

数据库本身最近没有太大变化。我也没有很多数据。它有大约 300 条记录。

知道如何诊断此类问题吗?

UPD可能与https://bugs.chromium.org/p/chromium/issues/detail?id=402980

相关

【问题讨论】:

    标签: ios performance web-applications safari indexeddb


    【解决方案1】:

    显然这是 iOS 更新的结果(从 11.1.* 到 11.2.*)。

    我已将我的网络应用程序添加到主屏幕。据我了解,当您进行 iOS 更新时,Web 应用程序容器将移至新的 iOS 环境,但保留了原始 iOS 版本的一些功能(可能与用于 Web 应用程序的 WebView 有关,但我不确定)。

    所以我再次将我的网络应用程序添加到主屏幕,它可以毫无延迟地启动。

    【讨论】:

      猜你喜欢
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多