我是VB.NET的新手,我正在使用带有选项卡式界面的文本编辑器。我处理大文本文件,所以我想知道最好的方法是什么。
我是否应该在新线程或进程中打开每个选项卡/文本文档?我基本上希望整个应用程序始终运行得很快,因为文本编辑器只是其中的一部分。如果我打开了几个大文本文件,我不希望应用程序的其余部分放慢一点。
如果有人可以帮助阐明这一点并且可能指向一个包含任何相关示例的网址,我会很感激!
答案 0 :(得分:2)
我是否应该在新主题或流程中打开每个标签/文本文档?
没有。绝对不是一个新的过程。将所有东西重新组合在一起的Win32数量会让你讨厌自己。
也不是新线程。 Winforms UI在单分派线程中运行。试图从不同的线程触摸UI将使您的程序爆炸。
我建议只使用经过验证的,真实的,无聊的后台工作者方法。这可以与线程一起使用,也可以只使用异步IO (.NET为您处理线程)。根据您的使用情况,您可能只想延迟加载部分文件,您可以使用内存映射或随机访问文件(例如,仅在非常小的部分读取一次该文件)。在任何情况下,“数据”应与所述数据的可视化分开。
(重点添加到搜索词中。)
答案 1 :(得分:1)
无论您打开1个还是10个标签,您一次只能输入/编辑1个文件,其他标签只占用您定义的数据结构中的内存,因此不确定如何对绩效的影响。
作为旁注,如果你正在进行大量的字符串操作,请使用stringbuilder类,更快,内存效率更高。