Мне нужно загрузить большое количество растровых изображений в память для отображения в приложении WPF (с использованием .net 4.0). Проблемы возникают, когда я использую около 1400 МБ памяти (я получаю это из списка процессов в диспетчере задач).
То же самое происходит независимо от того, запущено ли приложение на машине с 4 ГБ памяти или 6 ГБ (и некоторые другие конфигурации, о которых у меня нет подробностей). Это легко проверить, уменьшив загруженные изображения, и когда он работает на 1 машине, он работает на всех, но когда он падает на одном, он падает и на всех.
Когда я уменьшаю количество изображений и позволяю приложению загружаться, не вызывая исключения памяти, я могу без проблем запускать несколько экземпляров приложения (превышающих 1,4 ГБ для одного экземпляра), поэтому кажется, что это ограничение на каждый экземпляр или ошибка экземпляра с моей стороны.
Я загружаю изображения как BitmapImage, и они либо сохраняются в List
, либо загружаются в List
, где они позже используются в группе многоуровневых последовательностей (с использованием записываемых битовых карт
)
Ошибка возникает, когда я загружаю изображения не во время использования. В случае повторяемости я загружаю 600 изображений 640X640 плюс еще 200-300 изображений меньшего размера в диапазоне от 100X100 до 200X200, хотя, похоже, проблема заключается в общем количестве битов. Брайан