Xamarin 以编程方式添加视图太慢

Xamarin 以编程方式添加视图太慢,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我有一个需要动态创建的页面。 我们选择用列表中的框架和输入填充页面,但由于它们可能变得相当复杂,我们决定以编程方式进行填充,而不是将它们放在ListView中 问题是:当有很多项目要输入时,页面生成速度非常慢,并且给人一种应用程序冻结的感觉(有时它确实冻结了)。 有没有一种方法可以足够快地创建这些视图,而不会让用户久等 我尝试过创建一个空页面,并在任务中添加输入,这样就不会影响用户体验,但这仍然很慢,而且有些东西会使应用程序崩溃。 所有输入都在设备内。BeginInvokeOnMainThrea

我有一个需要动态创建的页面。 我们选择用列表中的框架和输入填充页面,但由于它们可能变得相当复杂,我们决定以编程方式进行填充,而不是将它们放在ListView中

问题是:当有很多项目要输入时,页面生成速度非常慢,并且给人一种应用程序冻结的感觉(有时它确实冻结了)。 有没有一种方法可以足够快地创建这些视图,而不会让用户久等

我尝试过创建一个空页面,并在任务中添加输入,这样就不会影响用户体验,但这仍然很慢,而且有些东西会使应用程序崩溃。
所有输入都在设备内。BeginInvokeOnMainThread。

要输入的项目批次
什么是批次?您可以添加一个如何创建/添加控件的示例。对于添加到页面中的每个新视图,所有布局都将重新设计。您可以尝试在主线程之外完成繁重的工作,完成后,将其包含在视图容器中。尝试设置页面名称,如
x:name=“pagContent”
,使用
ActivityIndicator
运行和
标签来初始化页面,例如在
StackLayout
中设置“加载…”,当作业完成时,设置
pagContent.Content=yourloaddedview
@sushingover,批次不同,但它可以多达100个inputs@DiegoRafaelSouza,我就试着这么做。即使页面停止崩溃,加载仍然非常缓慢。我尝试不加载任何标签,以查看加载时间是否更改,但没有效果。因此,您必须共享一个上下文扩展的示例代码,然后我们可以查看是否有更好的方法。
lot of items to input
什么是lots?您可以添加一个如何创建/添加控件的示例。对于添加到页面中的每个新视图,所有布局都将重新设计。您可以尝试在主线程之外完成繁重的工作,完成后,将其包含在视图容器中。尝试设置页面名称,如
x:name=“pagContent”
,使用
ActivityIndicator
运行和
标签来初始化页面,例如在
StackLayout
中设置“加载…”,当作业完成时,设置
pagContent.Content=yourloaddedview
@sushingover,批次不同,但它可以多达100个inputs@DiegoRafaelSouza,我就试着这么做。即使页面停止崩溃,加载仍然非常缓慢。我尝试不加载任何标签,以查看加载时间是否更改,但没有效果。因此,您必须共享一个上下文扩展的示例代码,然后我们可以看看是否有更好的方法。