【发布时间】:2020-12-03 13:28:54
【问题描述】:
我的 Xamarin 应用程序中有一项功能,该功能涉及根据用户输入的观察次数生成数据输入部分。如果用户输入 3,则生成 3 个部分,如果用户输入 100,则生成 100 个部分。当应用程序开始无限期挂起时,当我输入超过 10 或 20 的值时,我遇到了问题。由于我无法限制用户的输入,我需要以某种方式解决此问题。
var newSections = new List<ISection>();
for (int i = currentLength; i < UserInput; i++)
{
var newSection = DataEntryAttribute.SectionFactories();
newSections.Add(newSection);
上面的代码 sn-p 是不断生成部分直到达到用户输入的数字的代码。
感谢任何有关加快此过程的可能方法的帮助或见解。
【问题讨论】:
-
只生成适合页面的数量。按需生成其余部分,或在后台任务中生成。
-
无限期挂起?你是说它永远挂起?
-
我很幸运地使用 CollectionView 来显示更长的复杂自定义布局列表,其中包含混合内容并具有不错的性能。当您自动滚动时,它会处理加载/卸载的内容。但是请注意,据我所知,它仍然是一个实验性功能。要使用它,您必须在主要活动的 OnCreate() 中使用
Forms.SetFlags("CollectionView_Experimental");。 -
当我说它无限期挂起时,我的意思是应用程序在输入 60 或 100 等大量数字后冻结了 30-40 秒,并引发警报“您的应用程序没有响应”然后我点击等待,它需要大约 10-20 秒才能正常运行。
标签: c# performance xamarin.forms rendering