2015-10-26 2 views
2

Я запускаю свое приложение на двух разных устройствах и просматриваю на вкладке Memroy от Android Studio выделенную память приложения. Когда приложение работает на устройстве Samsung, выделенная память составляет около 60 МБ. Когда приложение работает в устройстве Motorola, выделенная память составляет около 40 МБ.Использование памяти приложения различается между устройствами

В чем причина этого различия в распределении памяти?

Devices: Samsung Galaxy S4 с 5.0.1 Android версии

Motorola Moto G2 с 5.0.2 Android версии

+3

Разрешение на каждом устройстве отличается от начального (S4 = xxhdpi, Moto G2 xhdpi), что означает, что все чертежи/мип-карты будут иметь разные версии разрешений из ваших папок с ресурсами, поэтому загруженные изображения занимают больше памяти - попробуйте запустить тест на такие же телефоны плотности экрана. –

+0

Это может дать вам подсказку http://developer.android.com/training/displaying-bitmaps/manage-memory.html – VVB

ответ

3

Samsung имеет дополнительный слой библиотек для их пользовательского интерфейса на Android, который в конечном итоге приведет приложение потребляет больше памяти.

Мото-устройства имеют запасной/родной Android.

Ваши переменные и объекты занимают память x на обоих устройствах, но ваши элементы пользовательского интерфейса занимают больше памяти в Samsung по сравнению с мото-устройством.

examplel: Если на складе android используется класс Button, Samsung продлит класс Button, чтобы сделать класс SamsungButton, который будет иметь дополнительные функции (например, звук капли воды при нажатии).

+0

В моем случае на Nexus 5 с последним обновлением (6.0.1) мое приложение потребляет 50 МБ, а на Sony Xperia Z5 Compact также работает 6.0.1, он потребляет 25 МБ В чем причина моего дела? – OmarBizreh

+0

Возможно, вы используете разные функции приложения. это также связано с тем, что вы делаете в приложении. пример простой операции io может быть менее интенсивным для памяти, но сортировка огромных структур займет больше памяти. вы уверены, что использование приложений было одинаковым на устройствах? – Kay

+0

Да, они были теми же, что и я, я только что запустил основную деятельность и дождался, пока все будет загружено, а приложение перейдет в состояние бездействия, ничего не было выполнено, так как использование памяти пошло на значения, которые я дал ранее. – OmarBizreh