如果我看一下这里的讨论: http://monotouch.2284126.n4.nabble.com/UIImageView-td4303177.html
UIImage.FromFile()
和UIImage.FromFileUncached()
都映射到imageWithContentsOfFile:
并且不应该缓存,但是我的经验不同而且我很确定UIImage.FromFile()缓存(来自我在仪器中看到的。
此处的文档(http://docs.xamarin.com/ios/tutorials/Working_with_Images)指出UIImage.FromBundle()
确实缓存,但UIImage.FromFile()
没有缓存。这仍然是真的吗?或者,如果图像在应用程序包中,FromFile()
可能会缓存一些魔法吗?
有人可以说清楚正确的方法是什么:
答案 0 :(得分:7)
UIImage.FromFile
和UIImage.FromFileUncached
相同。它们都调用相同的imageWithContentsOfFile:
选择器。
Xamarin关于FromFileUncached
的文档解释了为什么要这样做。
来自FromFile的别名,只是使用更明确的名称来引起人们对此调用的无缓存特性的注意,与FromBundle相比。
历史上,此选择器的原始API名为FromFileUncached
,而旧的FromFile
方法已映射到imageNamed:
- 但事实证明这是一个错误,因为后面的选择器意味着来自捆绑。
添加了新的FromBundle
方法,并且为了不破坏API,FromFile
与FromFileUncached
相同。
我会在[Obsolete]
方法中添加FromFileUncached
属性,因为它会在IDE中更明显,即无需阅读文档。
有人可以说清楚正确的方法是什么:
FromFile[Uncached]
不会缓存,FromBundle
会缓存。