Производительность Android и помощь памяти - PullRequest
0 голосов
/ 24 апреля 2011

Просматривая одноранговые сети с голубым зубом, я хотел изменить некоторые из спрайтов, которые были созданы вокруг.то, что я хотел изменить, делало фиктивные меню.На данный момент есть меню «Пуск» и это все.Поэтому я сделал меню выбора и 2 пустых меню, в которых позже будет отображаться опция справки и многопользовательского режима.

Я заметил, что получаю очень странные результаты с этими фиктивными png-файлами.Это будет только отображать фиктивный файл, а затем сбой.После изменения настроек я столкнулся с ошибкой, в которой говорилось, что у андроида недостаточно памяти, и он завис.Это указало мне на то, где я создавал новый объект.Я изменил код, а затем он снова запустился.Новая проблема заключается в том, что эта проблема с низким объемом памяти все еще возникает.Я все еще новичок в разработке для Android.

Являются ли файлы .png, которые я загружаю, в большие, и, таким образом, у них мало памяти?2 новых pngs были 400 пикселей на 300 пикселей.Если это правда, был ли мой дизайн настолько близок к пределу памяти, что что-то новое разрушило бы его?

Если я ошибаюсь, какие советы вы можете помочь решить проблемы с памятью?

Спасибо

1 Ответ

2 голосов
/ 24 апреля 2011

Размер изображения на диске не имеет значения. Это насколько они велики, когда вы загружаете их в память. Если вы используете ARGB_8888, 300x400 превратится в 500K растровое изображение. Да, вам нужно быть намного более осторожным. Смотрите, например, здесь: http://davidjhinson.wordpress.com/2010/05/19/scarce-commodities-google-android-memory-and-bitmaps/ и
http://www.rbgrn.net/content/363-releasing-bitmap-memory-when-not-needed

Редактировать: П.С. Добро пожаловать в мир Android. Вы только что пережили болезненный обряд, который я называю «Растровый шок». Однажды вы оглянетесь на это и посмеетесь. : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...