在iOS应用程序中保存视频以便离线查看的最佳方法

时间:2014-11-12 05:30:19

标签: ios iphone xcode ipad

我处于混乱的状态"什么是存储视频的最佳方式?" 从服务器本地下载。

我有两个版本的相同应用程序,即在线和其他离线。 对于离线模式,我想在本地下载所有视频,以便将来离线观看。 我知道有两种存储视频的方式:

  1. 可行的方法是将其存储在应用程序的文档目录中,并将相应的视频文件名保存在sqlite数据库中。但是,有大约200多个视频! 我只是担心它可能会造成内存问题,给我的应用程序内存警告并使其崩溃。

  2. 在sqlite数据库中以NSData格式存储它,但它会使数据库变得庞大,我认为这是不可行的,因为sqlite db意味着重量轻。

  3. 还有其他方法可以完成任务。 (根据要求,视频不应保存在设备的图库中)。

    请帮帮我! 谢谢!

2 个答案:

答案 0 :(得分:0)

据我所知,文档目录是您唯一的选择。它不应该影响内存,但请记住,如果你的应用程序被删除,这个目录也是如此。

我最近构建了一个依赖于将视频保存到Document目录的应用程序,我们没有遇到任何问题。

我会避免在数据库中存储大型资产。您无法从中受益,如果删除该应用,这些视频仍然会丢失。

答案 1 :(得分:0)

您可以使用...

在应用程序环境目录中的任何位置保存任何类型的文件
[[NSFileManager defaultManager] moveItemAtPath:[/*Your current file path*/] toPath:/*Your destination path*/ error:/* &errorObj */];

[[NSFileManager defaultManager] copyItemAtPath:[/*Your current file path*/] toPath:/*Your destination path*/ error:/* &errorObj */];

并且用于移动200多个文件......您可以使用命名约定,您可以使用任何类型的循环来处理它。

注意:

1。对于任何类型的大型文件,我总是使用这种方式,而不是保存在任何类型的 数据库中。

2。下载文件时应始终使用“移动”操作。