Page? Я думал, что когда страницу закрываешь через Pop, она должна стать доступной для очистки, но при вызове GC.Collect() ее деструктор не вызывается? Сейчас такое ощущение, что память из под нее вообще не очищается
Явно вызывайте Dispose, если так надо, а в нем уже GC.Collect
Это какой-то костыль получается. Мне кажется по умолчанию должно быть такое поведение, может быть только у меня такая проблема
Нет Костыль это вызывать самому GC.Collect чтобы удалить страницу. Это не гарантирует что именно в данный момент вызовется Dispose, если вызовется вообще. Сомневаюсь что ваша страница там много чего-то хавает, чтобы ее диспоузить когда именно вам это надо Возможно какой-то контрол это делает, самописный, вот в нем и чистите память Тем более у ГЦ 3 (вроде) поколения,
Я попробовал на новом проекте, такое же поведение. Вообще я пытаюсь решить задачу отписки от статического события, когда страница закрывается. Может быть не туда копаю.
прям вообще полностью закрывается или она просто скрывается?
а варик -= в onDisappearing()?
Это придется прокидывать отписку до модели, к тому же еще и добавлять подписку при OnAppearing
Ну а в чем проблема? Создаете BasePage и BaseViewModel В BasePage кастите BindingContext к BaseViewModel В BaseViewModel 2 virtual метода И в BasePage дёргаете их
Да, пожалуй так будет логично
Обсуждают сегодня