Воссоздавать страницу верхнего уровня для вкладки каждый раз, когда к ней осуществляется переход в приложении Maui ShellIOS

Программируем под IOS
Ответить
Anonymous
 Воссоздавать страницу верхнего уровня для вкладки каждый раз, когда к ней осуществляется переход в приложении Maui Shell

Сообщение Anonymous »

Я создал приложение Shell с помощью Tabs для iOS. Две вкладки (Tab1 и Tab2) создают страницы (Page1 и Page2), каждая из которых потребляет много памяти. Если я нажму Tab1, а затем Tab2, приложение выйдет из строя из-за слишком большого использования памяти, поскольку страница 1 остается активной при создании страницы 2. То же самое произойдет, если я нажму Tab2, а затем Tab1. Использование памяти Page1 или Page2 приемлемо, если создается экземпляр только одного из них, но оба вместе приводят к тому, что iOS удаляет мое приложение.
При первом нажатии на Tab1 создается экземпляр Page1. Если отображается страница 1, и я перехожу на страницу 2, как я могу избавиться от страницы 1 и создать ее заново, когда я нажимаю Tab1? Я очень готов смириться с дополнительным временем, необходимым для повторного создания экземпляра страницы 1 или страницы 2 каждый раз при нажатии на соответствующие вкладки.
Я пробовал использовать:

Код: Выделить всё

protected override void OnDisappearing()
{
Shell.Current.Navigation.RemovePage(Shell.Current.Navigation.NavigationStack.ElementAt(0));
}
чтобы удалить первую страницу в NavigationStack при переходе со страницы Page1, но при этом возникает исключение System.ArgumentNullException. В стеке навигации есть 1 элемент, но этот элемент имеет значение NULL. Это не страница 1.
Всякий раз, когда я ухожу со страницы 1, я хочу, чтобы следующий щелчок по вкладке Tab1 обрабатывался так, как если бы это был первый щелчок. То же самое с Tab2 и Page2. Любая помощь будет принята с благодарностью!

Подробнее здесь: https://stackoverflow.com/questions/792 ... ui-shell-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»