静的な議論とシングルトンの議論はわかっているので、この質問は静的なキーワードの正当性に関するものではありません。
静的クラスがある場合、そのメモリはMonotouchによってどのように処理されますか。メモリ警告を受信すると、そのメンバーは削除されますか?Monotouchでの静的クラスの使用に関するガイドラインはありますか?
静的な議論とシングルトンの議論はわかっているので、この質問は静的なキーワードの正当性に関するものではありません。
静的クラスがある場合、そのメモリはMonotouchによってどのように処理されますか。メモリ警告を受信すると、そのメンバーは削除されますか?Monotouchでの静的クラスの使用に関するガイドラインはありますか?
静的クラスとメンバーは、アプリケーションの存続期間中ずっとハングします。
通常、静的クラスについては心配しません。心配する最大のことはViewDidUnload
、すべてのコントローラーで適切にクリーンアップしていることを確認することです。
ここであなたはすべきです:
ReleaseDesignerOutlets
MonoTouchの以降のバージョンでこれを行います)。コードから作成されたビューに対しては、自分で行う必要があります。ViewDidLoad
ViewDidUnload
の鏡像である必要がありますViewDidLoad
ViewDidUnload
スタックのダウンなど、現在画面に表示されていないコントローラのメモリ不足状態で呼び出されますUINavigationControllers
。
さらに、UINotificationCenter
UIImage、UIFontなどをキャッシュするヘルパークラスからのメモリ不足通知にフックすることもできます。
ビューとイメージを解放すると、静的クラスが使用しているメモリの量によって得られるメモリがはるかに多く解放されます。