Когда я тестирую производительность своего приложения, особенно тест памяти, выделение памяти java увеличивается, когда мы переключаемся между действиями. После решения этой проблемы я создал тестовое приложение, которое включает в себя только кнопку для переключения между действиями, и проблема такая же . Это видно по Монитору профиля Android . Пожалуйста, смотрите ниже изображение,
Над краями красных стрелок начинаются новые действия. Хотя очистить задачу и установить флаги как новую задачу, это увеличит объем памяти, но всякий раз, когда мы очищаем стек задач, сборщик мусора должен стереть неосновные данные из памяти.
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
Я использую вышеупомянутые флаги, чтобы очистить задачу, и дополнительно я использовал
Intent.FLAG_ACTIVITY_CLEAR_TOP
В каждом действии нет общих переменных или целей, и эти действия содержат только кнопку для перехода к другому занятию.
Какие решения и передовые практики помогут избежать этой проблемы?