我试图决定是否应该存储我的UIImages
,我从我的数据库中获取并添加到应用程序内部的数据模型,如UIImage()
或Data()
或URL()
。
在占用最少的存储空间和最快的显示方面,最有效的方法是什么?
使用案例:我有一个与instagram基本功能相似的用例
目前我的DM看起来如下:
class Post: NSObject {
var media = UIImage()
var user = User()
var snapshot : [String : AnyObject]?
}
有用的链接:这个链接可能对那些仍在寻求帮助的人有用:Link。
肯定是代表图像的String
的绝对URL
。除非你的应用程序中有静态帖子,否则你没有理由在Post
对象中存储整个图像。这有几个原因,但两个最重要的原因是。
1)如果在每个Post
对象中存储图像或数据,您将使用大量内存。
2)在某些时候,您会发现需要建立一个缓存系统来显示已从firebase存储中下载的图像。否则,您将一遍又一遍地下载图像。
缓存需要某种标识符来返回正确的图像,所以比这更好的URL。我会说在99%的情况下,使用URL而不是图像本身会更好。让图像根据需要下载。