2011-12-19 13 views
3

Windows Phoneでの起動時間をどのように短縮できますか?アプリケーションの起動時間に影響する制約は何ですか?マーケットプレイスのテストキットを実行しているときに、起動時の結果と失敗したときがあります。実際に私はそれが失敗した場所を特定するのに苦労しています、どのように私は場所の問題が発生したことを識別することができます、私はパフォーマンス分析ツールを試しても解決策は見つかりません。 また、この読み込み時間に関するもう1つの疑問は、この読み込み時間が最初のページの読み込みに関連しているかどうか、またはアプリケーション内のページ全体をチェックすることです。 どうすればこのロード時間を短縮できますか?Windows Phone 7の起動時間

答えて

5

読み込み時間はどこであるか調べてください。技術はかなり簡単です:

public partial class MyPage : PhoneApplicationPage 
{ 
    int m_t0; 

    public MyPage() { 
     m_t0 = Environment.TickCount; 
     MyListBox.Loaded += MyListBox_Loaded; 
    } 

    void MyListBox_Loaded(object sender, RoutedEventArgs e) { 
     Debug.WriteLine("\n---------> {0} msec", Environment.TickCount - m_t0); 
    } 
} 

コード上記のページの構築とリストボックスがロードされる瞬間までの時間を測定します。これはあなたがどこにでも適用できるツールです。

App.xaml.csから始めることができます。これには、コンストラクタやアプリレベルイベントなどの興味深いエントリがいくつか含まれています。ページレベルに進み、最終的に面白いコントロールを測定します。 xamlの読み込みを測定したい場合は、InitializeComponent()で費やした時間を測定してください(このメソッドをデバッグすることは有益です)。

アプリのライフサイクル、ページ、コントロールの読み込みを理解すると役に立ちます。

最後に、時間がどこにあるのか、かなり良いアイデアがあるはずです。次に、最適化を開始し、最終的にKu6oprで説明されている手法を採用することができます。あなたは、 "窓の電話7のパフォーマンス"と言う場合、あなたはGoogleの多くのヒントを得ることができます。

2

まず、すべてのハード処理は、Activated、Constructor、OnNavigatedTo、およびLoadedイベントから実行してください。可能であれば遅延処理を行います(例えば、BackgroundWorkerを使用します)。 2番目に、アセンブリサイズを縮小します。イメージをリソースではなくコンテンツとして作成します。できるだけイメージのサイズを小さくする(アプリケーションでイメージのサイズを縮小しないでください)、ほとんどの場合、ほとんど使われていないコードが多い場合は、プロジェクトを別のアセンブリに分けることができます。

希望します。

+0

"ほとんどの場合、ほとんどの時間は使われていないコードがあればプロジェクトを別のアセンブリに分けることができます。"これによりリストボックスの負荷を変更すると、初期読み込み時間が改善されました。私はそれらの2つを見るだろう。 – invalidusername