0

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

LayoutInflater inflater = getLayoutInflater();

そして、他にもいくつかあります。

これらに getXYZ を使用し、新しいものをインスタンス化しないのはなぜですか?

どのような場合にそのようなアプローチが使用されますか?

4

1 に答える 1

1

これはシングルトン デザイン パターンと呼ばれます。

これらに getXYZ を使用し、新しいものをインスタンス化しないのはなぜですか?

NotificationManagers何百もの、LayoutInflatersおよびその他を持ちたくないからです。通知システムは1つなので、常に1人のマネージャーを取得して尋ねると便利です。ほぼ同一のマネージャーが多数いるプロジェクトに取り組んでいると想像してみてください。マネージャーは全員に与えられた情報をどうにかして同期する必要があります。誰もが電話できる人を持つ方が簡単です:)

どのような場合にそのようなアプローチが使用されますか?

確実な場合は、クラスのインスタンスを 1 つしか持たないようにします。たとえば、MusicManagerまたはRecordsManagerゲームDatabaseConnection内、アプリ内の一部など。

于 2013-10-31T20:46:06.193 に答える