目前我正在试图解决的速度问题涉及加载和保存富文本。下面是详细信息。在我的应用我有需要能够存储两个richtexts一个问题类。目前,这两个richtexts被存储在问题类为TextRanges。至于保存/载入那张我使用TextRange.Load(流,DataFormats)和TextRange.Save(流,DataFormats)。一切正常......

我的问题是,我需要有这些问题1000+保存/负载从一个文件。当我这样做保存/载入包含这些问题的文件需要20〜秒。而最重要的是,我希望能够加载几个这样的文件一次......这会使用户在等待可能的几分钟。我敢肯定,我现在的问题是显而易见的。

于是我开始研究它为什么要花这么长时间来保存/载入文件,并从一个分析器,我发现的花费节省80%的时间/加载一个文件是在TextRange.Load和TextRange.Save方法。

所以我的问题是...有没有人有任何建议或指针加快我的文件SAVE / LOAD?

我试图想另辟蹊径,富文本存储在这两个问题的类的文件中。我跑出去的想法相当迅速,但想来这里我承认之前。任何帮助是极大的赞赏。也让我知道如果我需要澄清什么。谢谢!

有帮助吗?

解决方案

多少开销在每次调用加载和保存是存在的,它有什么优势,为大范围对多次为很小的范围内调用加载一次?有多少次你呼叫负载时加载+1000问题?是调用加载更新的RichTextBox或流文件的某处的每个行为吗?如果不是你有什么用TextRanges做的,一旦你有他们装?

我注意到本次关联线程和思想我要提出一个建议:如果你的节省的字节数组(或内存流)的问题类,而不是TextRange的,只有创造当你真正需要加载在RichTextBox的数据(将打开那个窗口时的TextRange )?

其他提示

您可能会考虑线程。这样,您就可以加载你的问题都没有锁定UI。加载第100和当它们用完,载入另一个100个左右。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top