Я работаю над портированием зефира для некоторых аппаратных средств. Проблема, с которой я столкнулся, заключается в том, что если я создаю объект UI через xml, он не будет подметаться GC. Например:Объект пользовательского интерфейса, созданный с помощью XML, не подметается в Android Marshmallow
Я создал приложение, чтобы проверить это. Это приложение имеет 2 мероприятия. Каждое действие имеет кнопку. Если я нажму эту кнопку, она завершит текущую активность и начнет другую деятельность.
Если я определяю кнопку в макете xml и в действии setcontentview, он создаст объект типа кнопки. Теперь я снова и снова переключаю эти действия, чтобы создать несколько объектов кнопки, так как я не использую LAUNCH_MODE (намеренно).
Теперь давайте предположим, что создано 8 объектов Button. Несколько раз я нажал кнопку «Назад» и вышел на главный экран. Я инициировал GC из Android Studio. После этого, если я возьму кучу кучи, все же я нахожу 8 экземпляров Button, но «идентификаторы объектов изменены». Более того, я видел, что конструктор класса Button не вызывается после того, как я начал GC.
Итак, кто создал эти объекты. И если это те же объекты, почему идентификаторы были изменены.
То же самое, если я путем создания объекта Button с помощью кнопок класса Java,
как кнопка B = новая кнопка (контекст с);
объекты подметаются.
Пожалуйста, поставьте немного света, если вы понимаете проблему.
BR, Рахул
Не могли бы вы поделиться [mcve]? – antonio