Ios 如何缓存AVPlayer视频?

Ios 如何缓存AVPlayer视频?,ios,swift,caching,Ios,Swift,Caching,我将AVPlayers嵌入到UITableViewCells中,需要一种方法来缓存加载的视频,以便在刷新表视图时,它不必再次加载视频。我目前用于加载视频的代码如下: let videoString = "http://www.someurl.com" let videoURL = NSURL(string: videoString) videoPlayer = AVPlayer(URL: videoURL!) videoPlayer!.actionAtItemEnd = AVPlayerAct

我将
AVPlayers
嵌入到
UITableViewCells
中,需要一种方法来缓存加载的视频,以便在刷新表视图时,它不必再次加载视频。我目前用于加载视频的代码如下:

let videoString = "http://www.someurl.com"
let videoURL = NSURL(string: videoString)

videoPlayer = AVPlayer(URL: videoURL!)
videoPlayer!.actionAtItemEnd = AVPlayerActionAtItemEnd.None

videoView.playerLayer.player = videoPlayer

我通过将从服务器返回的图像存储在字典中并将其ID作为密钥来缓存图像。我正在寻找一种类似的视频方式,任何帮助都将不胜感激。

理想情况下,他们没有内置的支持来缓存视频,但是根据视频的大小,一旦视频开始播放,您可以尝试在后台下载视频


但是请注意,此过程将增加应用程序的缓存大小,并且可能会根据视频大小消耗大量空间,因此您可能会缓存用户几分钟前观看的少量视频,或者您可能会将其限制为5-10个最新视频

理想情况下,他们没有内置的支持来缓存视频,但是根据视频的大小,一旦视频开始播放,您可以尝试在后台下载视频


但是请注意,此过程将增加应用程序的缓存大小,并且可能会根据视频大小消耗大量空间,因此您可能会缓存用户几分钟前观看的少量视频,或者您可能会将其限制为5-10个最新视频

最好对缓存设置一个限制。事实上,我最终缓存了来自avplayer的avasset,并构建了一个自定义缓存数据结构,它结合了一个队列和一个字典,如果有人想知道的话。您可以分享更多关于如何处理自定义缓存的详细信息吗?谢谢。对缓存设置一个限制是个好主意。事实上,我最终缓存了来自avplayer的avasset,并构建了一个自定义缓存数据结构,它结合了一个队列和一个字典,如果有人想知道的话。您可以分享更多关于如何处理自定义缓存的详细信息吗?谢谢