【发布时间】:2008-10-02 21:53:57
【问题描述】:
我正在寻找在构建重量级 Windows 界面时处理用户对象句柄限制的高级策略。请说明您如何使用 SWT 或直接 Windows GUI API 克服或绕过此问题。我唯一不感兴趣的是优化小部件使用的策略,因为我已经广泛地这样做了,它并没有解决问题,只会降低可能性。
我的情况:
我有一个基于 SWT 的 GUI,它允许在同一个父 shell 中进行多个会话,并且在每个会话中它们是显示用户生成的 cmets 列表的 3 个独立位置。当用户打开多个会话并拉取填充这些列表的数据时,用户对象句柄的数量会根据 cmets 的数量急剧增加。
我目前的解决方案:
1. 默认情况下,我对 cmets 进行分页,从而限制了每个会话中的评论行数,但由于管理需求,我还有一个有效的“查看全部”按钮,它完全绕过了这一点。
2.我自定义在每一行中绘制所有不可编辑的信息。这意味着每行仅使用 2 个对象句柄。
3. 我创建了 JNI 调用来查询操作系统的当前使用情况和最大使用情况。有了这个,我可以向用户表明崩溃迫在眉睫。不用说,他们忽略了这个警告。
【问题讨论】:
-
嗨,Spencer,您是如何实施解决方案 3 的?
标签: user-interface winapi swt