2

次のシナリオがあります: - 多数のアイテムを含むアプリケーション。(1mil+) - リスト 1 のオブザーバブルの各アイテム。

アプリケーションの初期化からオブザーバブルを作成すると、多くの処理とメモリが必要になるため、アプリケーションがフリーズします。解決策は、アイテムが一度に部分的にレンダリングされるため、オンデマンドで作成することです。これはかなり簡単です。

必要なのは、アイテムのバインドを解除した後、新しいバッチを表示し、作成されて使用されなくなったオブザーバブルを破棄することです。

1 つの解決策は、新しいバッチに切り替えるときに、古いバッチを反復処理して破棄することです。これもかなり簡単ですが、残念ながら十分ではありません。

私のアプリケーションはコンポーネントに分割されており、それぞれがメイン アイテム プールのアイテムを使用する場合と使用しない場合があります。つまり、バインドを解除してオブザーバブルを破棄する前のアイテムを検索するだけではなく、すべてのコンポーネントを検索する必要があります。これはパフォーマンスの観点からは良くありません。また、コンポーネントがお互いを知る必要がないため、良くもありません。

だから私の質問はです。サブスクライバーがなくなったら、ノックアウトでオブザーバブルを破棄する方法はありますか?

ありがとうございました。

4

1 に答える 1