在 Windows Store 应用程序中创建图像时,如何控制何时从磁盘读取数据?
在 WPF 中,您可以使用 BitmapCacheOptions 控制何时从磁盘读取图像。 . BitmapCacheOptions.OnDemand
将推迟从磁盘读取数据,直到实际需要图像数据。这有一些缺点:
要解决该问题,您可以使用
BitmapCacheOptions.OnLoad
立即将图像读入内存。如何控制何时将图像数据加载到 Windows 应用商店应用程序的内存中?
WPF 代码看起来像这样:
var bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.UriSource = path;
bitmapImage.EndInit();
bitmapImage.Freeze();
编辑 - 更多信息
WPA 显示将 8.8mb 的图像显示到屏幕上需要大约 330 毫秒。其中,170ms用于文件IO(包括37ms用于防病毒检查文件),160ms用于WIC解码。
任何想法如何控制文件 IO 何时发生或如何触发 WIC 解码?
(右键单击并在新选项卡中打开以查看完整尺寸)
最佳答案
对于 Windows 应用商店应用,我建议查看 AccessCache API - http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.accesscache.aspx
特别是 StorageApplicationPermissions类(class)。有了它,您可以添加各种要访问的存储项目。
看看FilePickerSampl e(或 FileAccessSample)应用程序以获取有关如何使用它的更多信息。
关于image - 如何控制何时将图像数据加载到 Windows 应用商店应用程序中的内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597138/