понимание на TrimMemory (уровень int)

Я недавно прочитал эту статью наУправление памятью вашего приложенияЯ настоятельно рекомендую прочитать его, если вы AndroidDev и никогда не делал.

Есть много хороших практик, и одна вещь, о которой я никогда не узнаю, этоonTrimMemory (внутренний уровень) метод, вызываемый системой в каждом действии / фрагменте для уведомления о событиях, когда память должна или может быть освобождена.

Вот цитата из этой статьи:

Обратите внимание, что ваше приложение получает обратный вызов onTrimMemory () с TRIM_MEMORY_UI_HIDDEN, только когда все компоненты пользовательского интерфейса процесса приложения скрыты от пользователя., Это отличается от обратного вызова onStop (), который вызывается, когда экземпляр Activity становится скрытым, что происходит, даже когда пользователь переходит к другому действию в вашем приложении. Поэтому, хотя вы должны реализовать onStop () для освобождения ресурсов активности, таких как сетевое соединение или для отмены регистрации приемников вещания,обычно вы не должны освобождать свои ресурсы пользовательского интерфейса, пока не получите onTrimMemory (TRIM_MEMORY_UI_HIDDEN), Это гарантирует, что если пользователь перейдет обратно из другого действия в вашем приложении, ваши ресурсы пользовательского интерфейса все еще будут доступны для быстрого возобновления действия.

Я действительно заинтересован в реализации хорошего управления памятью в своем приложении, поэтому я с нетерпением жду реализацииonTrimMemory () в правильном пути.

У меня есть только несколько вопросов по этому поводу:

являетсяonTrimMemory (TRIM_MEMORY_UI_HIDDEN) вызывается сразу после onStop ()?

что означает «освобождение ресурсов UI» в этом контексте? Например, очистить кэш растрового изображения или удалить или уничтожить все представления в дереве представлений? я обычно разрушаю взгляды вOnDestroy () или жеonDestroyView () методы, я теперь задаюсь вопросом, правильно ли я делаю это.

есть ли обратный звонок Twin / корреспондентonTrimMemory (TRIM_MEMORY_UI_HIDDEN)? любитьOnCreate-OnDestroy, OnStart-OnStop, onCreateView-onDestroyView, Я прошу понять, где и как я должен восстановить состояние пользовательского интерфейса после действия / фрагмента, как было перенесено на передний план послеonTrimMemory (TRIM_MEMORY_UI_HIDDEN) был вызван.

Ответы на вопрос(3)

Ваш ответ на вопрос