Почему сотни растровых изображений в памяти для базового приложения для Android?

Создавая свое первое приложение для Android, я заметил, что использование памяти уже приближается к 20 МБ сразу после запуска приложения. Я загрузил Eclipse MAT и просмотрел содержимое, чтобы найти в памяти сотни, если не тысячи растровых изображений. Многие из которых не используются непосредственно в моем проекте (по крайней мере, не так много, чтобы я знал)

Максимальное изображение – 9 МБ: https://imagebin.ca/v/2eCK4JYLO2f2.

Другие намного меньше: https://imagebin.ca/v/2eCMmbFuIWsz.

Android, кажется, приложил немало усилий, чтобы уменьшить объем памяти с помощью зиготы... так почему же в памяти уже так много неиспользуемых растровых изображений?

(Базовый проект — это пустое действие с использованием Android Studio с фрагментом, состоящим из текстового представления, которое просто говорит «Hello World!»)


person Raymond Hill    schedule 18.04.2016    source источник


Ответы (1)


Я обнаружил, что растровые изображения взяты из памяти Zygote. Поскольку все Java-приложения запускаются через Zygote, это означает, что минимальное использование памяти определяется размером памяти, используемой Zygote, который, в свою очередь, зависит от плотности отображения устройства.

Найдены ответы:
Найдите класс, который тратит память< br /> Найдите и устраните причину большого размера кучи

person Raymond Hill    schedule 18.04.2016