我正在开发一个在多子表格中使用相同数据列表的应用程序,但是我注意到,当我的孩子形成时,它在显示之前有一些延迟。 顺便说一下,我使用linq从数据库中获取数据。
所以,我的问题是,当主表单加载并将其传递给其他表单时,是否更好地获取数据?
答案 0 :(得分:1)
是。但是在后台执行它不会阻止UI线程。例如,async / await(异步代码)是从数据库查询数据的好选择,因为它不会阻塞线程。
答案 1 :(得分:1)
最初加载数据的一个严重缺点是,例如在显示spash屏幕时,您必须担心数据是否会发生变化。例如,UserA可以启动应用程序并从基础表加载10条记录。然后UserB将记录插入基础表。每次UserA加载其他表单时,您都需要为应用程序设计一种检查新记录的方法。
如@JonKoivula所述,最好在后台加载数据而不是阻止UI线程。您可能会在加载数据时显示“微调器”或某些内容来娱乐用户。根据我的经验,用户理解“旋转器”,并且真正相信他们表明工作实际上正在发生。