OutOfMemoryException при создании большого растрового изображения в CF.NET
Мое компактное приложение-фреймворк создает список с плавной прокруткой, визуализируя все элементы на большой поверхности растрового изображения, а затем копируя это растровое изображение в положение смещения на экране, чтобы отображались только соответствующие элементы. В старых версиях отображались только элементы, которые должны были отображаться на экране в то время, но этот подход был слишком медленным для гладкой прокрутки интерфейса.
Иногда он генерирует исключение OutOfMemoryException при первоначальном создании большого растрового изображения. Если пользователь выполняет программный сброс устройства и снова запускает приложение, он может выполнить создание без проблем.
Не похоже, что это растровое изображение генерируется в памяти программ, поскольку приложение использует примерно столько же памяти, сколько было до новых методов плавной прокрутки.
Есть ли способ, как я могу предотвратить это исключение? Есть ли способ освободить нужную мне память (где бы она ни находилась) до того, как будет сгенерировано исключение?