В общем, когда вы начинаете играть с огромным растровым изображением в памяти, вы всегда сталкиваетесь с такой проблемой. Лучший способ избежать этого - разделить изображение на массив или нечто подобное, чтобы вы могли создать сетку.
С этого момента вам нужно только / нужно загрузить на экран то, что можно просмотреть, что сэкономит много памяти.
Это случилось со мной, когда я решил создать несколько игр, чтобы убить несколько раз.
Я решил создать игру Maze / Pipe, и пользователь мог выбирать количество столбцов и рядов. Я решил ограничить изображение до 10000 пикселей на 10000 пикселей.
Моя первая попытка, у меня была именно ваша проблема. ошибка за ошибкой за ошибкой, в основном проблема с памятью.
Я решил провести исследование о том, как делать то, что хотел, и нашел решение.
Я создал динамический 2-мерный массив (я решил ограничить его максимум 1000 на 1000) и просто поместил в него небольшое изображение размером 10х10 пикселей или что-то другое, что решит пользователь.
Когда это было сделано, проблема с памятью / скоростью загрузки / и т.д. ... просто исчезла.
использование памяти до того, как мое исправление было легко закончено, теперь использование памяти приложений составляет от 150 до 225 мегабайт оперативной памяти при использовании ограничения
Если вы хотите попробовать, скачайте это и зайдите в меню (Лабиринт) и поиграйте с настройкой: мои маленькие игры