MAUIでiOSアプリの開発!

MAUIを使ったiOSアプリの開発についての技術的なメモです。

Xamarinでメモリリークの確認

アプリの連続試験でメモリリークの確認を行うため、XCodeのInstrumentsを使ってメモリ使用量の計測をおこないました。

マウスを自動操作するツールで連続して操作した結果、メモリが増加傾向にあることがわかりました。

リークの解析はXamarim.Profilerというツールが良さそうだったのですが、Enterpriseライセンスがないと使用できません。

Instrumentsでリークの調査も行えるようなので、使ってみました。

 

使い方はこちらを参照
https://docs.microsoft.com/ja-jp/xamarin/ios/deploy-test/using-instruments-to-detect-native-leaks-using-markheap
https://docs.microsoft.com/ja-jp/xamarin/ios/deploy-test/walkthrough-apples-instrument
https://qiita.com/nohirap/items/39ed06c550b6b5c1f247

 

Instrumentsを使ってLeaksの項目を追加しましたが、リークが発生していることは検出できるのですが、詳細情報を見てもどこが原因なのか特定することができませんでした。

ですので、操作しながら「All Heap & Anonymous VM」を見て、メモリが増加して減少しない操作・機能にあたりをつけて、ソースをチェックしていきました。

イベントハンドラの解放漏れ、usingを使っていない、など、C#での基本的な処理不足を修正すると、概ねリークの傾向がなくなるとこまでもっていきました。

まだLeaks項目でリークが検出されているのですが、メモリはほぼ増えてませんので、これで良しとします。