好久没有写原创了,今天遇到一个问题。
我的Winform程序部署到工厂中,有时程序一直开着,晚上他们的员工电脑也不关。第二天,他们就发现程序占用CUP、内存过高。
我的推测,因为硬件有问题,所以会每隔10s中向电脑的winform程序报“外部温度计无响应”的字符,而字符会显示在客户端RichTextBox 的控件中,我们知道RichTestBox的显示字符的大小不会像TextBox控件具有64K字符容量的限制。 所以如果硬件一直报错,RichTextBox会一直添加错误信息。时间一长,其中的字符大小会很大,最高可达可包含大约 20 亿 ( 2^31)个字符。(2G)
由此可能导致程序响应变慢。
现在已经更改程序,需看测试结果
2019.3.12 更改过的代码已经部署到企业。经使用表明,没有再次出现CUP占用率过高的情况,所以RichTextBox过多内容确实会导致占用率过高。