Я сейчас пишу приложение и использую в основном одно действие. Это дерево компонентов.
Я использую изображения с двумя экранами шириной и около 300 пикселей в верхних двух видах изображений, самый нижний - сплошная цветная панель. В дополнение к этому, приложение также создает около 15 кнопок с векторным фоном и размером около 42 дп. Эти кнопки не имеют прослушивателя щелчков, и я отключил для них stateListAnimator. Они не работают как правильные кнопки, но замена их на textView, например, не устранила проблему.
Я также загружаю 48 звуковых файлов в SoundPool с индивидуальным размером 8,57 КБ на файл. Я пытался не загружать эти файлы, но это никак не изменило использование оперативной памяти.
Я установил для minifyEnabled значение true, и это мои зависимости:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation 'com.android.support:customtabs:28.0.0-rc02'
implementation 'com.android.support:support-v4:28.0.0-rc02'
implementation 'com.android.support:support-media-compat:28.0.0-rc02'
implementation 'com.android.support:animated-vector-drawable:28.0.0-rc02'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:preference-v7:28.0.0-rc02'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
Моя проблема сейчас в том, что это приложение, хотя и не имеет утечек, с самого начала потребляет много оперативной памяти. Он отличается от устройства к устройству, но обычно составляет от 70 до 130 МБ. Вот снимок профиля Android.
Не использование рекламы имеет небольшой эффект, но ничего слишком дикого, как видно здесь .
Так что на данный момент я не совсем уверен, что может быть причиной проблемы, и какие шаги я могу предпринять, чтобы понять это. Поэтому я надеюсь, что кто-нибудь здесь может помочь.
Если потребуется какая-либо дополнительная информация, о которой я забыл, я предоставлю ее. Спасибо.