SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

XapOptimizerでWindows Phoneアプリの使用リソースを最適化しよう

  • X ポスト
  • このエントリーをはてなブックマークに追加

xoprojを活用した組み込み例

 ビルドイベントの中で呼び出したXapOptimizerでピン設定を毎回手動で実施するのは、作業ミスなどが起こりやすくなり、非効率です。そこでピン設定をxoprojファイルに保存しておき、その保存値を自動適用するように変更してみましょう。

 まずは前段階として、設定値を保存します。

  1. XapOptimizerを起動する
  2. XAPファイルを指定する
  3. ピン設定を行う
  4. バックアップを取得するように設定する
  5. 名前を付けて設定を保存する(aaa.xapならaaa.xoprojとしてプロジェクトファイルと同じ場所に保存する)

 次にビルドイベントのビルド後に実行するコマンドラインを設定します。

リスト2 ビルド後に実行するコマンドライン
"C:\Program Files (x86)\GrapeCity\XapOptimizer1\bin\XapOptimizer.exe"  /p:
$(ProjectDir)$(ProjectName).xoproj /cmd

 今回のコマンドラインでは、/pパラメタでxoprojファイルを指定しています。入力XAPファイルや出力XAPファイルはxoprojの中で定義されているもののみが有効なため、/iパラメタや/oパラメタを同時に指定することはできません。

 /cmdオプションは/pオプション指定時だけ設定できるパラメタで、/cmdオプションを指定するとXapOptimizerの画面を表示せずに最適化を実施します。

 ビルドイベントの設定が終わったら、Visual StudioでターゲットをWindows Phone Emulatorにして実行してみてください。ビルドが行われ、最適化された状態でWindows Phone Emulatorへ発行されて、アプリが起動します。

図15 アプリの実行
図15 アプリの実行

まとめ

 最後に、もう少し実用的なWindows Phoneアプリを最適化した結果を確認してみましょう。

表1 最適化の効果
アプリケーション名 最適化前 最適化後
CZ1203ContextMenu 127KB 56KB
CZ1205FourSquareVB 226KB 146KB
CZ1205Metro4sqVB 596KB 516KB
CZ1206ImageVB 204KB 110KB

 必要なピン設定を行い、正常に動作する設定を確認できたら、xoprojとして保存して測定した結果となります。最適化により小さくなる割合はWindows Phoneアプリによってまちまちです。これは除去できるライブラリが異なるという要因が大きいでしょう。しかし、効果はありますし、表にもあるように最大で50%近い削減は、Windows Phoneのリソースに良い影響を与えるでしょう。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

初音玲(ハツネアキラ)

 国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6713 2012/08/21 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング