我处于混乱的状态"什么是存储视频的最佳方式?" 从服务器本地下载。
我有两个版本的相同应用程序,即在线和其他离线。 对于离线模式,我想在本地下载所有视频,以便将来离线观看。 我知道有两种存储视频的方式:
可行的方法是将其存储在应用程序的文档目录中,并将相应的视频文件名保存在sqlite数据库中。但是,有大约200多个视频! 我只是担心它可能会造成内存问题,给我的应用程序内存警告并使其崩溃。
在sqlite数据库中以NSData
格式存储它,但它会使数据库变得庞大,我认为这是不可行的,因为sqlite db意味着重量轻。
还有其他方法可以完成任务。 (根据要求,视频不应保存在设备的图库中)。
请帮帮我! 谢谢!
答案 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。下载文件时应始终使用“移动”操作。