非 UI フラグメントの主な目的は、構成の変更後も保持されるデータの保存だと思いますよね? したがって、このフラグメントを所有するアクティビティに固有のこのストレージであることは別として、これはアプリケーション全体でシングルトン パターンを使用する利点です (これは私がこれまで行ってきたソリューションです)。
質問する
1697 次
1 に答える
16
フラグメントのスコープがそのアクティビティに限定されているという事実は、シングルトンとは対照的に、長期的なメモリ リークの可能性が少ないことを意味します。フラグメントは最終的にガベージ コレクションされるはずですが、シングルトンはそうではありません。
また、タイミングをいくらか制御できます。はアプリでApplication
作成された直後に作成されContentProviders
、それを選択することはできません。逆に、フラグメントがいつ作成されるかを制御できるため、その制御を利用できる場合があります。
そのため、データが実際にアクティビティによってのみ必要とされる場所では、非 UI フラグメントはおそらくシングルトンよりも優れたアイデアです。シングルトンは、複数のコンポーネントにわたってデータが必要な場所向けです。
于 2012-07-20T11:15:14.757 に答える