Ios 如何从文件加载UIImage而不在Monotouch中缓存?
如果我看一下这里的讨论:Ios 如何从文件加载UIImage而不在Monotouch中缓存?,ios,uikit,xamarin.ios,uiimage,Ios,Uikit,Xamarin.ios,Uiimage,如果我看一下这里的讨论: UIImage.FromFile()和UIImage.FromFileUncached()映射到imageWithContentsOfFile:并且不应该缓存,但是我的经验不同,我非常确定UIImage.FromFile()缓存(从我在仪器中看到的) 这里的文档(http://docs.xamarin.com/ios/tutorials/Working_with_Images)声明UIImage.FromBundle()进行缓存,但UIImage.FromFile()
UIImage.FromFile()
和UIImage.FromFileUncached()
映射到imageWithContentsOfFile:
并且不应该缓存,但是我的经验不同,我非常确定UIImage.FromFile()缓存(从我在仪器中看到的)
这里的文档(http://docs.xamarin.com/ios/tutorials/Working_with_Images)声明UIImage.FromBundle()
进行缓存,但UIImage.FromFile()
不进行缓存。这仍然是真的吗?或者,如果图像在应用程序包中,是否有一些神奇的FromFile()
缓存
有人能告诉我正确的方法是什么吗
- 是否使用缓存加载UIImage
- 是否在不缓存的情况下加载UIImage
UIImage.FromFile
和UIImage.FromFileUncached
是相同的。它们都调用相同的imageWithContentsOfFile:
selector
Xamarin的文档解释了为什么会这样做
别名为FromFile,只是使用了一个更显式的名称,以提请注意与FromBundle相比,此调用的无缓存特性
历史上,此选择器的原始API命名为FromFileUncached
,而旧的FromFile
方法被映射到imageNamed:
——但事实证明这是一个错误,因为后面的选择器表示来自捆绑包
添加了一个新的FromBundle
方法,为了不破坏API,FromFile
变得与FromFileUncached
相同
我将向FromFileUncached
方法添加一个[过时]
属性,因为它将使其在IDE中更为明显,即不必阅读文档
有人能告诉我正确的方法是什么吗
FromFile[Uncached]
不缓存,FromBundle
会缓存。感谢您澄清这一点,但如果FromFile()不缓存,并且该内存用于缓存图像数据(正如您对另一个bug的评论),为什么我会看到“内存标签70”大幅增长?以上内容基于文档。此方法不缓存图像对象。但这不是第一次发现这个不完整/错误:(你能试着制作一个小的复制案例,并将其附加到一个bug报告中,这样我们就可以研究它了。ThanksIt似乎也适用于其他人(ObjC)