Swift: проблема времени загрузки WKWebView с большим кешем (DataStore)IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Swift: проблема времени загрузки WKWebView с большим кешем (DataStore)

Сообщение Anonymous »

У меня есть приложение Swift, в котором реализован WKWebView. Это интегрирует мой PWA. Через PWA загружается много данных, которые с помощью ServiceWorker (Workbox) также сохраняются локально на устройстве/приложении. Пока это работает прекрасно!
Однако, когда пользователь действительно загрузил через serviceworker много данных (> 1 ГБ), запуск приложения Swift, а точнее WebView, занимает очень много времени (около 20-30 секунд). Мне кажется, что iOS пытается загрузить все данные в оперативную память или сделать их доступными напрямую. К сожалению, это очень неудовлетворительный пользовательский опыт, а также были устройства, которые полностью вышли из строя.
Я инициализирую WebView следующим образом:

Код: Выделить всё

let config = WKWebViewConfiguration()
let userContentController = WKUserContentController()
config.userContentController = userContentController

if #available(iOS 14, *) {
config.limitsNavigationsToAppBoundDomains = true;
}

config.preferences.javaScriptCanOpenWindowsAutomatically = true
let webView = WKWebView(frame: calcWebviewFrame(webviewView: container, toolbarView: nil), configuration: config)
Это определенно связано с веб-сайтомDataStore, потому что, когда я дополнительно включаю следующий код, WebView появляется сразу.

Код: Выделить всё

config.websiteDataStore = WKWebsiteDataStore.nonPersistent()
К сожалению, тогда конечно кэша у меня уже нет...
Есть ли у кого-нибудь идеи, как ускорить DataStore или первоначальная загрузка WebView с большими объемами данных в dataStore сайта?

Подробнее здесь: https://stackoverflow.com/questions/781 ... -datastore
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»