Будет ли он экономить много памяти, используя 9-патч-изображения?

Я борюсь с OutOfMemoryError в своем приложении.

Я создал фоновое изображение размером 800 пикселей на 480 пикселей. Когда это изображение загружается в представление, которое использует его в качестве фона, я думаю, что ОС будет использовать для него 800 * 480 * 4 байта. Это большая память.

Если я создам 10-пиксельное изображение размером 10 пикселов с 9 патчами для замены всего изображения на экране. ОС автоматически масштабирует изображение с 9 патчами до 800×480, когда оно отображает представление, использующее 9-патч. Мой вопрос в том, что в случае с 9 патчами, сколько памяти будет использовать ОС, чтобы нарисовать масштабированное изображение с 9 патчами? Будет ли это 10 * 10 * 4 байта или 800 * 480 * 4 байта?

Благодарю.

Во-первых, если это фоновое изображение и может быть масштабировано, сделайте это, так как известно, что это лучшая практика (особенно для фона), и небольшая потеря четкости изображения может быть скомпенсирована путем выбора правильных цветов и / или Фоновый рисунок.

Что касается памяти, если вы используете Drawable, вы находитесь в безопасности. Но битмапы, по-видимому, не выделяются стандартным способом Java, а через собственные вызовы; Распределения выполняются за пределами виртуальной кучи, но подсчитываются против нее. Подробнее об этой проблеме здесь