こんにちは。エクセルソフトの田淵です。
https://releases.xamarin.com/preview-xamarin-profiler-0-34/releases.xamarin.com
Mono ランタイムのメモリリークなどを可視化する Xamarin Profiler がアップデートしたようです。が、この Xamarin Profiler は Visual Studio の Enterprise のライセンスがないと利用できませんので、ご注意ください。
Xamarin Profiler って?
問題解決のアプローチとして、アロケートと時間で調査ができて、コールツリーやサンプリングやメモリのスナップショットも取れるよー的なことが書いてありますね。
iOS では Xcode の Instruments、Android では LogCat とかなんでしょうか?(私はまだ理解できませんが)メモリの問題を解決するのは大変だと想像します。
Visual Studio Enterprise のメニューに[分析>Xamarin Profiler]がありますので、少し弄ってみました。
開いているプロジェクトを分析するのですが、Xamarin Profiler を選択すると、次のダイアログが表示されます。
一番上にある All Profile の他に
- Allocation (メモリアロケーション)
- Cycle(オブジェクトですかね?参照サイクル)
- Memory(メモリ利用量の問題)
- Performance(メモリと CPU のパフォーマンスの問題)
- Time Profiler(時間)
で調査ができます。
Android プロジェクトで、All Profile を選択して分析してみました。
操作が終わったら記録終了ボタンを押します。
画面下半分に Allocation が表示されており、どのようなオブジェクトが使われたか?が分かるようです。
Call Tree タブを選択すると、オブジェクトの呼び出し履歴が分かるようです。
Visual Studio Enterprise をお持ちの方は使ってみてください(^^)
Xamarin 気になった方は
是非 ダウンロード して触ってみてください。Visual Studio 2015 をご利用の方は Update 3 にアップデートする際にカスタムインストールで Xamarin を追加しましょう。 学習用リソース や JXUG リンクページ に参考資料を纏めてますので併せてどうぞ。
Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)
Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。
私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)、Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。
以上です。