Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows 8应用程序:存储数据_C#_Windows 8 - Fatal编程技术网

C# Windows 8应用程序:存储数据

C# Windows 8应用程序:存储数据,c#,windows-8,C#,Windows 8,为Windows 8应用程序存储数据的最佳方式是什么? 我需要存储一到数千张小图片(最大300x300px)(从文件选择器加载)。 另外,是否有存储图片(一个类而不是另一个类)的推荐做法?根据可用的图像和内存,在内存中存储1000个未压缩的图像可能会挂起计算机。所以这不是最好的做法 您没有提到为什么需要这样做,因此没有明确的解决方案,但有一些指导原则: 如果您需要在屏幕上显示多张图片,请使用XAML(例如图像元素)并在web或本地磁盘上设置图像的路径。Windows将为您进行缓存。另外,将图像

为Windows 8应用程序存储数据的最佳方式是什么? 我需要存储一到数千张小图片(最大300x300px)(从文件选择器加载)。
另外,是否有存储图片(一个类而不是另一个类)的推荐做法?根据可用的图像和内存,在内存中存储1000个未压缩的图像可能会挂起计算机。所以这不是最好的做法

您没有提到为什么需要这样做,因此没有明确的解决方案,但有一些指导原则:

  • 如果您需要在屏幕上显示多张图片,请使用XAML(例如图像元素)并在web或本地磁盘上设置图像的路径。Windows将为您进行缓存。另外,将图像元素放在GridView或ListView中并使用数据绑定
  • 如果您担心图像可能丢失,仅保留路径是不够的,请将它们复制到ApplicationData LocalFolder中
  • 如果需要对图像执行某些操作,请将所需的图像加载到内存中或逐个加载

谢谢!你是对的,我忘了提到我需要永久存储它(在应用程序重新加载时检索它)并逐像素读取它。所以我需要从数据库中检索我的图片(哪一个?这是我的问题)并将其加载到内存中。那么图像元素可以从其路径中检索pic?是否由于Windows 8应用程序限制而没有访问问题?我可以从此图像元素检索位图吗?在这种情况下,我可能只保存pic的路径,并通过这种方式检索整个pic。您的应用程序必须具有对路径的访问权限,请记住询问Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList以使该用户通过FilePicker向您提供的访问永久化。如果复制到本地ApplicationData文件夹,则该文件夹始终可访问。图像不存储在常规数据库中,有一些特定的数据库可用于此目的,但它们可能无法在Win8上工作。您的问题尚不清楚。所有的图片大小都一样吗?有一个解决办法。如果尺寸不同,则有另一种解决方案。请详细说明。