2014-04-08 46 views
0

我有三個longlistselector在一個pivot控件中。 每個longlistselector有10-20個項目。 當我回到顯示pivot + longlistselector的頁面時,該頁面需要大約3秒才能在具有512 MB的Nokia Lumia上呈現。如何確定爲什麼longlistselector需要太長的時間來渲染

我在Visual Studio 2013中進行了性能分析,發現一個幀的CPU利用率大約爲85%。挖掘視覺樹顯示關鍵項目演示者的渲染時間〜70%。然後,對於樞軸控件中的每個LongListSelector,這些分割爲35%,16%,20%。

當我展開ItemPresenter時,我可以看到LongListSelector大部分時間消耗。下面,我可以看到「ContentPresenter」和Canvas,這也是花時間。

我採取了同樣的內存分析,但工具無法找到任何可疑的東西。

如何查看究竟需要多長時間才能重新呈現之前顯示的頁面?

回答

2

我有同樣的問題,它似乎只是LongListSelector必須重新呈現您的視圖模型的內容,當它返回。我能找到改善這種狀況的唯一辦法是取消鉤在網頁「的OnNavigatedTo」法LLS的的ItemSource屬性,然後重新勾回了編程頁面「裝載的」事件(請參閱下面的例如)

脫開:

MyLongListSelectorControl.ItemsSource = null; 

重新創建:

Binding ItemSourceBinding = new Binding("MyDataProperty"); 
MyLongListSelectorControl.SetBinding(LongListSelector.ItemsSourceProperty, ItemSourceBinding); 

注意 「MyDataProperty」,可正是你習慣於在XAML綁定文本。

這樣的頁面至少可以在視覺上有某種「裝載」指示燈,然後longlist選擇將在後面填充,使應用程序完全響應的錯覺完全呈現。

+0

已經有這個問題太多次...感謝您的信息! – Schaemelhout