尝试使用QLPreviewController预览大文件的问题

我在尝试在iPad应用中预览大文件时遇到问题。 在应用程序中,我们使用UIDocumentInteractionController。 当我们尝试打开大文件(> 100 MB)时,UIDocumentInteractionController仅显示一个灰色屏幕,其中包含文件的名称和大小。

为了缩小问题,我们做了一个简单的应用程序,只尝试使用QLPreviewController预览文件,我们发现同样的问题。

问题似乎与内存使用有关。 由于文件的最大尺寸,您可以预览有关iPad型号和后台应用程序数量的更改。

尝试使用UIWebView预览文件更糟糕:应用程序崩溃(内存警告)。

如何使用QLPreviewController预览大文件? 我应该做些什么特别的事吗? 我应该使用其他组件吗? 哪一个?

你可能无法做你想做的事情 – 看来UIDocumentInteractionController只能接受一个URL,而不是一个打开的文件。

通常,您使用的技巧是使用“映射”文件 – 这是一个不需要完全读入内存的文件,但是根据需要使用虚拟内存,然后释放未使用的块。

如果您查看此答案,您可以看到如何使用NSData对象执行此操作。 使用这样的对象,您可以初始化其他类型的数据对象 – 现在还不确定如何处理UIDocumentInteractionController。