現在、多数の URL を反復処理するアプリを作成しています。ソース コードをプルダウンし、要素 ID などの参照ポイントを使用して特定のデータを抽出します。
ソース コードは String オブジェクトにロードされ、参照ポイントの IndexOf を見つけて SubString を実行することによって処理されます。
問題は、String オブジェクトがガベージ コレクションのジェネレーション 2 であることです。これは、収集される前にしばらくメモリ内に留まることを意味します。つまり、より多くの URL にアクセスすると、アプリのメモリ使用量が増加し続けます。
アプリを実行して 25 個の URL を処理したところ、メモリ使用量が 300Mb に跳ね上がり、しばらくすると (ガベージ コレクションが起動した後だと思います)、メモリ使用量は 1Mb に戻りました。
データを抽出するために短時間だけデータが必要なので、これを行うためのより最適化された方法はありますか?
参照ポイントの途中で分離が発生する可能性があるため、ソースをチャンクで読み取ることはできないことに注意してください。
IE
...<a href="http://www.some-website.com/" id="link-I-need">Hyperlink</a>...
そのように分離することができます
...<a href="http://www.some-website.com/" id="link-] (End of first chunk) - (Start of second chunk) [I-need">Hyperlink</a>...