簡體   English   中英

如何使用 WKURLSchemeHandler 提供大文件?

[英]How to serve big files using WKURLSchemeHandler?

我正在使用WKURLSchemeHandler來提供WkWebView無法直接讀取的本地文件。 雖然它適用於像視頻這樣的小文件,但當它必須提供像視頻這樣的大文件時,它會完全凍結應用程序。

現在,我正在一步讀取完整文件,這不適合重要文件。

data = try Data(contentsOf: fileUrl)

我應該怎么做才能避免這種情況? 有沒有辦法“流式傳輸”文件的內容?

didReceive(Data)比較特殊,可以使用部分數據多次調用,因此可以進行分塊讀取/流式傳輸。 這在文檔中並不明顯,但他們在他們的演示文稿中表示方案處理程序功能(參見 32:30): https://developer.apple.com/videos/play/wwdc2017/220/

此外, WKURLSchemeTask的函數可以在后台線程上調用,無需在主線程上執行(並且可能會阻塞 UI)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM