2014-10-02 101 views
0

我正在开发WinRT的照片库应用程序,我不知道要使用什么。WriteableBitmap与BitmapImage使用什么?

有什么更好的使用? 使用BitmapImageWriteableBitmap的实例更好吗? 各有什么优点和缺点?

感谢您的解释。

回答

0

WriteableBitmap存在一些内存集合问题 - 但是您可能会使用它来显示带有alpha通道的图片(​​如png格式)。 BitmapImagejpg的理想选择,但我遇到了使用异步SetSourceAsync设置大流源的问题,所以如果您会遇到任何问题 - 请使用同步版本。还值得一提的是如果你想清除内存 - 设置BitmapImage源空流(让它是InMemoryRandomAccessStream - 内存泄漏免费解决方案)

+0

我知道的问题。 我chceck这在性能监视器,但我不知道是否正常当我加载图像aprox。 10 000x5000 px系统消耗大约430MB RAM,图像渲染后消耗减少到一半左右。 因为有时候图像被渲染,有时候我不会使用比例缩小到50%左右的较小分辨率,并且消耗量都会减少50%左右。 这是正常的消耗4百万内存的RAM?我用WriteableBitmap – 2014-10-03 09:33:45

+0

我想这很正常。首先,我建议你:使用带有JPEGRender的诺基亚图像SDK(低内存消耗,因为图像呈现为JPG),其次,不要担心完整的图像渲染(只有当你想保存或失真时) - 缩放显示尺寸 - 可以可以使用诺基亚成像SDK轻松完成。如果您不想使用诺基亚图像SDK - 请使用BitmapImage并将DecodePixelWidth/DecodePixelHeight设置为屏幕尺寸。 – fex 2014-10-03 10:52:40

+0

我希望诺基亚SDK支持Windows商店应用程序。我认为也许更好地渲染图像缩放显示尺寸,但我不知道它是否是好方法。所以你确认了它。我尝试使用BitmapImage并比较内存使用情况结果。 – 2014-10-03 13:57:32