[英]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.