У меня очень простое приложение для Android, состоящее из одного действия с некоторыми текстовыми полями и немного кода обработки.Почему приложение для Android выделяет существенно разные объемы памяти для разных версий ОС?
Когда я устанавливаю его на устройство 2.3 и открываю его в первый раз, он выделяет ~ 2,7 МБ памяти (согласно вкладке «Обновление кучи» в Eclipse DDMS).
На устройстве 3.1 он выделяет ~ 6,1 МБ.
На устройстве 4.0 он выделяет ~ 13,8 МБ.
Я не делал никаких изменений кода между 3, и эти меры были приняты при первоначальной установке/открытии приложения (поэтому у него не было времени на утечку). Он не использует изображения и не поддерживает аппаратное ускорение.
Кто-нибудь знает, почему следы могут сильно отличаться? Я предполагаю, что это связано с различиями в версиях ОС, но мне интересно, знает ли кто, какие эти различия могут быть.
Я ознакомился с изменениями в распределении битмапа от 3,0 и далее, что вызвало очевидное увеличение выделенной памяти, но мое приложение не использует никаких изображений. Он состоит только из нескольких полей EditText и TextViews.
Можете ли вы использовать Memory Analyzer, чтобы получить подробную информацию и сравнить распределения? – Asahi