OK、私のアプリは機能します。ピボットアイテムを切り替えると表示されるパフォーマンスが嫌いです。私はランダムに吃音やハングアップを取得します。私はWeb開発の背景から来て以来、私は本当にスレッドで吸う。私のアプリを高速化するために何かできることはありますか?WP7ピボットコントロールのパフォーマンスは私にとってはスムーズではありません
ここで私の「ツイスト」からメインページへの切り替えがあります。アプリ。 「ウォッチリスト」と「マイリスト」の項目を切り替えると最大のハングアップが発生します。
private void panTwist_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
switch (panTwist.SelectedIndex)
{
case 0: //Watch List
App.vmTweet.LoadMore = false;
DataContext = App.vmTweet;
if (!App.vmTweet.IsWatchListTweetsLoaded)
{
LoadWatchList(false);
}
break;
case 1: //menu
ApplicationBar = null;
SetMenuDisplay();
break;
case 2: //My Lists
ApplicationBar = null;
DataContext = App.vmTwitterList;
if (!App.vmTwitterList.IsMyListsLoaded)
{
GetMyLists();
}
MyListsSetDisplay();
break;
default:
break;
}
}
私の「Wiki-Reef」アプリのコードは次のとおりです。これはもっと悪いことに実行されます....
private void panCorals_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
switch (panCorals.SelectedIndex)
{
case 0: //search corals
break;
case 1: //top corals
if (!App.vmCoral.IsTopDataLoaded)
{
App.vmCoral.IsTopLoading = true;
if (App.HasConnectivity)
{
//get corals from web
App.vmCoral.GetTopCorals();
}
else
{
//get saved corals from device
MessageBox.Show("Your phone does not have a connection to the internet, so the results you see could be empty or outdated.");
App.vmCoral.GetSavedTopCorals();
}
}
break;
case 2: //new corals
if (!App.vmCoral.IsNewDataLoaded)
{
App.vmCoral.IsNewLoading = true;
if (App.HasConnectivity)
{
//get corals from web
App.vmCoral.GetNewCorals();
}
else
{
//get saved corals from device
MessageBox.Show("Your phone does not have a connection to the internet, so the results you see could be empty or outdated.");
App.vmCoral.GetSavedNewCorals();
}
}
break;
default:
break;
}
}
何をするLoadWatchList?それにはリモート呼び出しが含まれているのか、ローカルストレージからロードするだけですか? LoadWatchListとGetMyListsをコメントアウトすると、ピボットが滑らかになりますか?はい=>これらのメソッドを最適化する=>より多くのコードが必要です... –
以下の私のコメントを参照して、問題を引き起こしている行thats任意のDataContext = xyz; – Jarrette