首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wp8 Clear ObservableCollection速度很慢

wp8 Clear ObservableCollection速度很慢
EN

Stack Overflow用户
提问于 2014-03-05 00:08:29
回答 1查看 438关注 0票数 0

我做什么:我在场景之间切换。它们中的大多数都绑定到一些视图模型。这个只有一个对象的observableCollection就有这样的绑定。当我离开时,我想要清除Collection,以确保它在下载时加载一个新的集合,而不显示旧数据或其他东西。

我在backkeypress之后调用clear-function,所以它被立即删除了:

代码语言:javascript
复制
void PageBackKeyPress(object sender, System.ComponentModel.CancelEventArgs e)
{
    App.ViewModel.JobDetail.Clear();
}

我在JobDetail[0].Remove();JobDetail.RemoveAt(0);上试过了,但仍然有同样的效果:它有点冻结,然后在20秒后运行。如果我在使用backkey离开时这样做,它似乎对backkey没有反应,然后一次完成我所有的backkey点击(主要是关闭应用程序)。如果我在加载之前尝试清除,我会看到一个空白的白屏,在同样的20秒之后,它会显示场景,然后开始下载(这需要更多的时间)。

我尝试加载的ViewModel包含大约15个字符串和3个简短的字符串列表(最多5个元素)。对于其他ViewModels,我有50个元素,每个元素大约有10个字符串和3个相同的字符串列表,在离开时清除列表没有任何问题。

有什么想法吗?

我读到我使用的VS2013经常发生这种情况。但是,如果我打开或关闭debug,使用其他模拟器或真实设备,都没有任何区别。同样的问题。

EN

回答 1

Stack Overflow用户

发布于 2014-03-05 16:00:03

好的,解决方案很简单:

代码语言:javascript
复制
void PageBackKeyPress(object sender, System.ComponentModel.CancelEventArgs e)
{
    DataContext = null;
    App.ViewModel.JobDetail.Clear(); // delete previous search
}

在其他类中,我没有将DataContext设置为null,但不知何故,它工作得很完美。在这个类中,删除绑定的数据会产生巨大的性能问题。就像我说的,延迟了大约20秒,而正常情况下一切都很好很快。

希望将来能对其他人有所帮助:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22177035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档