重量のある Windows インターフェイスを構築するときに、ユーザー オブジェクト ハンドルの制限に対処するための高度な戦略を探しています。SWT またはダイレクト Windows GUI API を使用して、この問題をどのように克服または回避したかを説明してください。私が興味を持っていない唯一のことは、ウィジェットの使用を最適化するための戦略です.
私の状況:
同じ親シェル内で複数のセッションを可能にする SWT ベースの GUI があり、各セッション内では、ユーザーが生成したコメントのリストが表示される 3 つの別々の場所があります。ユーザーが複数のセッションを開き、それらのリストに入力するデータを取得すると、コメントの数に応じて、ユーザー オブジェクト ハンドルの数が劇的に増加する可能性があります。
私の現在の解決策:
1. デフォルトでコメントをページングすることで、各セッションのコメント行の数を制限していますが、管理上の要求により、これを完全にバイパスする効果的な [すべて表示] ボタンもあります。
2. 各行に編集不可のすべての情報をカスタム描画します。これは、各行が 2 つのオブジェクト ハンドルのみを使用することを意味します。
3. 現在の使用状況と最大使用状況について OS に問い合わせる JNI 呼び出しを作成しました。これにより、クラッシュが差し迫っていることをユーザーに知らせることができます。言うまでもなく、彼らはこの警告を無視します。