2

我有这个应用程序:我的应用程序

当用户单击其中一个 navBarItems(如 Microsoft OUTLOOK)时,我想更改标记区域。我一直在做一些研究,很多人说我可以添加几个面板并在用户单击 navBarItem 时显示/隐藏它们。但是该区域将包含很多网格视图和很多其他控件。我不知道我是否想在应用程序启动时初始化所有这些,因为在 CPU 和内存上保持所有控件同时运行会很困难。而且我认为这不是这种情况的优雅解决方案。但是,如果我选择在用户单击相应的 navBarItem 时初始化控件,那么对用户来说会很迟钝。

这种情况下最好的设计方法是什么?

PS:我也可以使用商业图书馆。

谢谢你。

4

1 回答 1

0

不一定要滞后。如果您先显示屏幕,然后在后台填充数据,则对用户来说可能不会太糟糕。此外,一旦特定屏幕被初始化,您可能会将其保存在内存中,以便用户随后导航到它会更快。

此外,查看您正在加载到每个控件中的数据。有些数据是一样的吗?您可以在后台预加载一些数据并保留它吗?

你有很多下拉列表吗?如果是这样,您是否可以预先填充或缓存一些下拉列表数据以提高性能?

大部分时间会使用一两个面板吗?如果是这样,您可以预加载这些面板,以便用户对他们最常导航到的面板有更好的体验。

加载数据的后台处理将使您的代码更加复杂,但这将是从您的应用程序中获得良好响应时间的最佳方式。

下面是一个使用 Task 从 UI 运行后台线程的示例。

另一个使用BackgroundWorker。

于 2012-12-07T16:56:12.200 回答