Как я могу изящно снизить производительность, учитывая ограниченную память?
Последние несколько дней я пытался устранить утечки памяти в моей игре, что приводило ко многим ошибкам памяти. Я на грани добавления значительного количества графики, которая, хотя и не очень сложная, значительно увеличит требования к обработке моей системы, и я немного беспокоюсь об использовании памяти, и я надеялась, что кто-то может несколько советов для меня. Я не хочу идти ниже Android 2.1, поэтому, пожалуйста, подгоните любые ответы на этот счет.
Прежде всего, моя игра состоит из:
2 действия, 13 файлов XML (некоторые относятся к небольшой части макета, некоторые диалоговые окна и 2 напрямую связаны с действиями.Ряд рисунков, выполненных в Adobe Illustrator и преобразованных в PNG. Это, вероятно, большие, но не необычно большие, и по большей части, только небольшие количества их в памяти в любой момент времени.Довольно много диалогов.Ориентирован на Android 1.6 и выше.Я использовал новейший Admob, и в результате я должен построить против 3.2.Мой размер кучи по умолчанию для моих эмуляторов составляет около 24 МБ.Несколько примеров изображений из моей игры:
Что я узнал:
Несмотря на то, что мой общий размер приложения составляет всего около 500 КБ, я почему-то беру 24 Мег, как рассчитаноadb shell procrank
.Я провел значительную оптимизацию, но не вижу значительного увеличения памяти.При использовании инструментов для поиска содержимого кучи обычно доступно только около 7 МБ, при этом используется около 3 МБ. Иногда, при открытии новых диалогов и тому подобного, я вижу увеличение, но я не могу сказать, что вижу это настолько большим ...MAT показывает, что ни один из моих классов не использует необычно большой объем памяти.Итак, учитывая все это, мои вопросы.
Является ли 24 Мб актуальным требованием для разработки до (1.6+ android)?Предполагая, что это так, как я могу разрешить и более хорошую графику для систем, которые могут с ней справиться, но без сбоев и сбоев для старых систем?Какие распространенные ошибки я могу использовать, чтобы улучшить использование памяти?