Существует разница во времени и при вызове данных загрузки.Если это сделано на странице ctor
, она будет вызываться один раз и только один раз при первом создании этой страницы.
Если это сделано в OnAppearing
, вызов произойдет до показа страницы и может быть вызван больше.чем один раз.Например, если вы нажмете другую страницу поверх нее, а затем нажмете ее, OnAppearing
будет вызвано для повторной загрузки ваших данных, что может быть хорошо, если эта другая страница изменила данные, отображаемые на предыдущей странице.В противном случае вы потенциально делаете ненужные вызовы загрузки данных.
Стоит отметить, что OnAppearing
и OnDisappearing
не всегда последовательно вызываются одновременно на разных платформах.Например, если вы использовали встроенный общий доступ на Android или iOS, одно может запускать оба события, а другое может вообще не запускать.
Кроме того, я хотел бы убедиться, что вы используетеTask.Run();
для запуска любых длительных задач в фоновом потоке, чтобы гарантировать, что вы не блокируете основной поток, и, возможно, в настройках bool показывать / скрывать счетчик, если необходимо знать, когда ваша фоновая задача запускается и заканчивается.