Size: a a a

Xamarin Developers (MAUI, Forms, iOS, Android, UWP)

2021 April 30

MO

Mr. Onion in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Отото
источник

В

Влад in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
ставлю 16.9.4
источник

В

Влад in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
и флаг в руки
источник

A

Alexander in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Это какой-то костыль получается. Мне кажется по умолчанию должно быть такое поведение, может быть только у меня такая проблема
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Нет
Костыль это вызывать самому GC.Collect чтобы удалить страницу. Это не гарантирует что именно в данный момент вызовется Dispose, если вызовется вообще.
Сомневаюсь что ваша страница там много чего-то хавает, чтобы ее диспоузить когда именно вам это надо
Возможно какой-то контрол это делает, самописный, вот в нем и чистите память
Тем более у ГЦ 3 (вроде) поколения,
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Попробуйте запустить Xamarin Profiler, если правильно помню, то оно вам даст понимание того, как приложение использует память
источник

A

Alexander in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Я попробовал на новом проекте, такое же поведение. Вообще я пытаюсь решить задачу отписки от статического события, когда страница закрывается. Может быть не туда копаю.
источник

A

Alexander in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Он ведь только в Enterprise?
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
прям вообще полностью закрывается или она просто скрывается?
источник

A

Alexander in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
С главной страницы перехожу на новую. Потом нажимаю назад и на главной страницу вызывается GC.Collect(). При этом деструктор страницы с которой ушли не вызывается.
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Ну потому что это не гарантирует что вот прям сейчас что-то вызовется.
У вас кастомный сервис навигации?
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Возможно, не помню
источник

A

Alexander in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Неа. Просто создал новый пустой проект Xamarin.Forms
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
А на вашем проекте?
И вы уверены что вам точна нужна подписка именно в странице, а не в ВМ?
источник

MO

Mr. Onion in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
а варик -= в onDisappearing()?
источник

A

Alexander in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
На моем навигация Shell + обычная NavigationStack
источник

A

Alexander in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Подписка как раз в модели
источник

A

Alexander in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Это придется прокидывать отписку до модели, к тому же еще и добавлять подписку при OnAppearing
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Ну а в чем проблема?
Создаете BasePage и BaseViewModel
В BasePage кастите BindingContext к BaseViewModel
В BaseViewModel 2 virtual метода
И в BasePage дёргаете их
источник

A

Alexander in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Да, пожалуй так будет логично
источник