SHOEISHA iD

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

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

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

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

 今回は、Silverlightアプリケーションのファイルサイズを最適化するソフトウェア「XapOptimizer 1.0J」を使って、過去のサンプルファイルを最適化し、その効果を検証していきます。

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

XapOptimizerとは

 XapOptimizer 1.0J(以下、XapOptimizer)はSilverlightアプリケーションのファイルサイズを最適化するソフトウェアです。XAPファイルに含まれるアセンブリを自動解析し、使われていないクラスやXAMLリソースを削除することにより、XAPファイルを最大70%削減します。

 このソフトウェアを使うと、アプリの持つ機能はまったく削ることなく、アプリの起動時間を短縮し、起動中に使用するリソースを減らすことが可能です。

 XapOptimizerが発売された当初のバージョンでは、Windows Phoneアプリには未対応でした。しかし2012年3月2日にリリースされたSP1を適用することで、Windows Phone 7.5アプリにも対応可能となりました。今回は、このSP1を使って、本当に機能に影響なくリソースが自動削除できるのか、また、リソースを削減することでどれくらい効果があるのかを、過去のサンプルプログラムに対してXapOptimizerを適用しながら確認していきます。

手動によるXapOptimizer適用

 まずは、既に作成されているXAPファイルに対して、XapOptimizerを適用して効果を確認してみましょう。

図1 手動によるXapOptimizer適用
図1 手動によるXapOptimizer適用

 XapOptimizerを起動したら「新規プロジェクトの作成」を選択し、XAPファイルを指定します。正常にファイルが読み込まれると自動的に使用しているコンポーネントの内容が解析されます。

図2 出力ファイルの指定
図2 出力ファイルの指定

 デフォルトの状態では最適化後のファイルの出力先は同一ファイルになります。そこで、オプションを指定して自動的にバックアップを取るように設定変更を行います。

図3 自動バックアップの指定
図3 自動バックアップの指定

 この指定を行えば、XAPファイルの存在するフォルダにbackupフォルダを作成し、最適化前のXAPファイルをbackupフォルダにコピーしてから上書きが行われます。

除去内容の確認

 最適化時にどのような部分が除去されるかは[除去]タブで確認できます。

図4 除去内容の確認
図4 除去内容の確認

 除去される部分は灰色、除去されない部分(例えば、C1ContextMenu)は黒色で表示されています。除去判定された部分についても、名称の左にあるピンをクリックしてピン指定すれば、強制的に黒色に(除去されないように設定)できます。

 リフレクションなどが使われているときは、うまく解析ができずに必要な部分も除去判定されてしまう可能性があるのですが、まずは自動判定のままの状態で実行してみましょう。

次のページ
最適化の実施

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

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

初音玲(ハツネアキラ)

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング