ファイルのダウンロードと永続化を担当するシングルトンクラス(ダウンローダー)があるとします。クライアントがダウンロードを要求するときは、コールバックも提供する必要があります。私の質問は、それらのコールバックオブジェクトのストレージに関するものです。
コールバックインターフェイスを実装し、複数の大規模なダウンロードを要求するアクティビティがある場合、Downloaderクラスはアクティビティへの参照を無期限に保持します。ダウンロードが完了する前に、ダウンロードを要求したアクティビティがそのライフサイクルを通過し、破棄された場合はどうなりますか。
この場合、ダウンローダーはリサイクル業者がアクティビティをガベージコレクションするのを防ぎます。要求されたダウンロードが続行されてもかまいません。しかし、私がやりたいのは、提供されたコールバックが収集されるべきであることをどういうわけか検出し、それを効果的にリークしていることです。
このようなデザインパターンはありますか?Referenceサブクラスの1つが役立つだろうと思っていました。
ありがとう。