質問があります。シングルトン パターンを使用してMainController
、アプリのすべてのデータを処理する を作成したいと思っています。
これはAndroidの悪い習慣ですか、それともプロのソフトウェア開発者も同じことをしていますか?
シングルトンでアクティビティ コンテキストを使用しないようにします。そのアクティビティに関しては、ガベージ コレクターがリンクをクリアするのを防ぎます。Android はいつでもアプリケーションを再作成できるため、シングルトンがその状態を失うことに備えてください。saveInstanceState
/restoreInstanceState
これらの状況で役立ちます。
前述のとおり、Singleton パターンは設計パターンなので問題なく使用できます。
ただし、アプリケーションはいつでも強制終了される可能性があるため、シングルトンも強制終了されることに注意してください。クラスを再構築できるはずです。
たとえば、通常、このコンテキストを使用して SharedPreferences または Files からシングルトンをインスタンス化できるように、get(Context)
代わりにstatic を使用します。get()
とにかくsingletonはAndroidで使えるデザインパターンです。