【问题标题】:How much memory can the general NSPasteboard occupy?一般的NSPasteboard能占用多少内存?
【发布时间】:2012-01-07 07:46:21
【问题描述】:

一般的 NSPasteboard 存储用户复制的内容。例如,100 张图片和 1000 个单词。一般 NSPasteboard 的大小是否有限制,以便用户可以复制说.. 最多 99 张图像?

什么定义了这个限制? RAM 或 HD 还是 ..?

【问题讨论】:

    标签: objective-c cocoa memory ram nspasteboard


    【解决方案1】:

    是的。

    粘贴板的大小没有记录在案的强制限制(我可以找到)。然而,一切都是有限的。如果您将太多内容复制到任何粘贴板(无论是普通粘贴板、查找粘贴板、拖动粘贴板还是其他任何粘贴板),您要么达到未记录的限制,要么将系统推入分页地狱。 (即使最后一部分也不能真正保证;我上次检查时粘贴板使用 RAM,但理论上它现在或将来都可以写入磁盘。)

    如果您打算复制大量数据,我建议您改用它。具体操作方式取决于您使用的是较旧的基于类型和数据的 API,还是较新的基于项目的 API。这需要更多的工作,但这意味着您只需在用户将数据粘贴到某处时将其引入。

    【讨论】:

    • 澄清一下,promise 意味着您不会立即将数据发送到粘贴板,而是发送一个承诺,即您将在实际需要时发送数据(例如,当用户实际使用粘贴命令时) .通常,您还需要在应用退出时提供数据,但如果数据非常大,您可以提示用户是否要丢弃粘贴板,这就是 Photoshop 所做的。
    • 澄清一下,我并不是说 Photoshop 是用户交互设计的典范(!),但在我看来,它确实可以正确处理非常大的剪贴板内容。
    猜你喜欢
    • 2017-02-06
    • 1970-01-01
    • 2012-02-13
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    相关资源
    最近更新 更多