Я ищу наилучшую практику для оптимизации приложения Xamarin Forms при переключении видимости макетов, чтобы показать их при изменении размера экрана. Xamarin Forms загружает любой макет, если IsVisible = false. Итак, что я ищу для оптимизации моего приложения, так это загружать макеты, когда IsVisible=True
, если оно превращается в False
, есть ли способ «выгрузить» его, чтобы оно не занимало слишком много памяти устройства? Потому что с UWP проблем нет, но есть телефоны с низким объемом памяти.
Предположим, у меня есть следующий код:
<StackLayout IsVisible="False" Orientation="Vertical">
<!-- Make it visible when small screen -->
<CustomView1></CustomView1>
<CustomView2></CustomView2>
</StackLayout>
<StackLayout IsVisible="True" Orientation="Horizontal">
<!-- Make it NON visible when small screen -->
<CustomView1></CustomView1>
<CustomView2></CustomView2>
</StackLayout>
Xamarin будет загружать одни и те же представления 2 раза. То, что я смотрю, похоже на веб, удалите его из DOM (или не загружайте его в DOM, пока оно не станет видимым), но для форм Xamarin. Таким образом, приложение не загружает представление, когда оно ему не нужно, и я надеюсь получить его во время выполнения, при изменении размера приложения окна.
PS: Это можно сделать, используя OnIdiom. Phone, OnIdiom.Tablet и OnIdiom.Desktop, но это последнее, я не смог получить желаемый вид при изменении размера приложения окна UWP.