次のシナリオがあります: - 多数のアイテムを含むアプリケーション。(1mil+) - リスト 1 のオブザーバブルの各アイテム。
アプリケーションの初期化からオブザーバブルを作成すると、多くの処理とメモリが必要になるため、アプリケーションがフリーズします。解決策は、アイテムが一度に部分的にレンダリングされるため、オンデマンドで作成することです。これはかなり簡単です。
必要なのは、アイテムのバインドを解除した後、新しいバッチを表示し、作成されて使用されなくなったオブザーバブルを破棄することです。
1 つの解決策は、新しいバッチに切り替えるときに、古いバッチを反復処理して破棄することです。これもかなり簡単ですが、残念ながら十分ではありません。
私のアプリケーションはコンポーネントに分割されており、それぞれがメイン アイテム プールのアイテムを使用する場合と使用しない場合があります。つまり、バインドを解除してオブザーバブルを破棄する前のアイテムを検索するだけではなく、すべてのコンポーネントを検索する必要があります。これはパフォーマンスの観点からは良くありません。また、コンポーネントがお互いを知る必要がないため、良くもありません。
だから私の質問はです。サブスクライバーがなくなったら、ノックアウトでオブザーバブルを破棄する方法はありますか?
ありがとうございました。