Mvvm 如何使用xamarin表单提高移动设备的性能

Mvvm 如何使用xamarin表单提高移动设备的性能,mvvm,xamarin.forms,prism,portable-class-library,Mvvm,Xamarin.forms,Prism,Portable Class Library,我们使用的是带有棱镜的xamarin形式。我们有简单的页面,每个页面上显示少量数据,并包含简单的计算。我们使用prism导航服务在页面之间导航。从单击按钮到导航到下一页,我们遇到了一些延迟。数据在OnNavigatedTo内提取,因为导航参数更改了数据。有人能解释一下为什么会有延迟,它接近1+秒,有时是2秒 而且,似乎每个页面都要呈现两次。。。OnNavigateTo之前一次,然后更改数据。OnProperty或OnCollection changed从OnNavigatedTo内激发,似乎会导

我们使用的是带有棱镜的xamarin形式。我们有简单的页面,每个页面上显示少量数据,并包含简单的计算。我们使用prism导航服务在页面之间导航。从单击按钮到导航到下一页,我们遇到了一些延迟。数据在OnNavigatedTo内提取,因为导航参数更改了数据。有人能解释一下为什么会有延迟,它接近1+秒,有时是2秒


而且,似乎每个页面都要呈现两次。。。OnNavigateTo之前一次,然后更改数据。OnProperty或OnCollection changed从OnNavigatedTo内激发,似乎会导致再次渲染

6.3.0版引入了
onnavigationto
的概念,而
OnNavigatedTo
已经存在了一段时间。这两者之间有着明显的区别。了解事情发生的顺序应该有助于创建更好的用户体验

  • 新页面已创建
  • 调用OnNavigatedFrom
  • OnNavigatingTo被称为
  • 新页面被推送到导航堆栈上并变为可见
  • OnNavigatedTo被称为
必须接触并获取数据的应用程序通常会遇到延迟问题,因为接触远程服务并获取所需数据,然后将数据解析为可用对象需要时间。在这个特殊的问题中,许多开发人员希望减少对UI的需求,因为在更新绑定时必须进行刷新,从而引入了
onnavigationto


虽然两者都不能减少网络延迟,但您可以让呼叫页面进入
IsBusy
状态,该状态可能会显示某种加载图标,当
NavigateAsync
完成且新页面显示已加载时,该图标将更新为false

6.3.0版引入了
onnavigationto
的概念,而
OnNavigatedTo
已经存在了一段时间。这两者之间有着明显的区别。了解事情发生的顺序应该有助于创建更好的用户体验

  • 新页面已创建
  • 调用OnNavigatedFrom
  • OnNavigatingTo被称为
  • 新页面被推送到导航堆栈上并变为可见
  • OnNavigatedTo被称为
必须接触并获取数据的应用程序通常会遇到延迟问题,因为接触远程服务并获取所需数据,然后将数据解析为可用对象需要时间。在这个特殊的问题中,许多开发人员希望减少对UI的需求,因为在更新绑定时必须进行刷新,从而引入了
onnavigationto

虽然两者都不能减少网络延迟,但您可以让呼叫页面进入
IsBusy
状态,该状态可能会显示某种加载图标,当
NavigateAsync
完成且新页面显示已加载时,该图标将更新为false