PowerPoint 2010内存泄漏
本文关键字:泄漏 内存 2010 PowerPoint | 更新日期: 2023-09-27 18:05:39
我正在为Microsoft PowerPoint开发自定义插件。我的插件需要将大量二进制数据存储到PowerPoint演示文稿中。我将这个二进制数据作为base 64编码字符串存储到PowerPoint演示标记中。我发现,当演示文稿的标签中包含大量数据(如10兆以上)时,PowerPoint在保存演示文稿时似乎会泄漏内存。因此,当这样的演示文稿多次保存时,PowerPoint甚至会耗尽系统内存并崩溃。
我开发了一个非常简单的c#插件来隔离这个问题。当创建新的表示时,它将50兆字节的二进制数据存储到表示中:private void Application_AfterNewPresentation(PowerPoint.Presentation presentation)
{
int tagLength = 5 * 1000 * 1000;
StringBuilder largeTagValue = new StringBuilder();
largeTagValue.Capacity = tagLength + 2;
for (int i = 0; i < tagLength; i++)
{
largeTagValue.Append("A");
}
largeTagValue.Append("'0");
string largeTagValueString = largeTagValue.ToString();
for (int i = 0; i < 10; i++)
{
presentation.Tags.Add("LARGE_TAG" + i.ToString(), largeTagValueString);
}
}
在运行这个插件之后,我甚至可以禁用它以确保它不再做任何事情。接下来,我多次保存演示文稿,并看到每次保存演示文稿时,进程列表中的PowerPoint内存使用都会增加。
完整的源代码和示例演示可以在这里获得
有谁知道这是一个PowerPoint的错误,或者有什么解决这个问题的方法吗?
或者,也许有另一种方法可以将相对大量的数据存储到PowerPoint演示文稿中?
再搜索一下就发现了…先来看看Todd Main的回答,大致了解一下需要什么:
可以在Word文档中添加一些数据吗?