首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用WKURLSchemeHandler服务大文件?

如何使用WKURLSchemeHandler服务大文件?
EN

Stack Overflow用户
提问于 2019-10-03 18:50:06
回答 1查看 155关注 0票数 1

我使用WKURLSchemeHandlerWkWebView无法直接读取的本地文件提供服务。虽然它对视频这样的小文件工作得很好,但当它必须提供视频这样的大文件时,它会完全冻结应用程序。

现在,我正在单步读取完整的文件,这对于重要的文件是不合适的。

代码语言:javascript
复制
data = try Data(contentsOf: fileUrl)

我该怎么做才能避免这种情况呢?有没有办法“流式传输”文件的内容?

EN

回答 1

Stack Overflow用户

发布于 2020-10-02 05:20:07

didReceive(Data)是特殊的,可以对部分数据多次调用,因此可以进行分块读取/流式处理。这在文档中并不明显,但他们在方案处理程序特性的演示文稿中这样说(见32:30):https://developer.apple.com/videos/play/wwdc2017/220/

此外,WKURLSchemeTask的函数可以在后台线程上调用,而不需要在主线程上执行(并且可能会阻塞UI)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58217566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档