CodeZine(コードジン)

特集ページ一覧

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

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2012/08/21 14:00

 今回は、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)は黒色で表示されています。除去判定された部分についても、名称の左にあるピンをクリックしてピン指定すれば、強制的に黒色に(除去されないように設定)できます。

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


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

著者プロフィール

  • 初音玲(ハツネアキラ)

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

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5