RichTextBox里貼了26M的字符,內存就佔用200多M
反復點擊Replace或者Remove按鈕后,內存直線上升,直接導致內存溢出
private void Replace_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text.Replace(textBox1.Text, "");
}
private void Remove_Click(object sender, EventArgs e)
{
richTextBox1.Text = richTextBox1.Text.Remove(0, 5);
}
解決方案:採用文件分塊讀取,然後分段分析
FileStream fstream = new FileStream(file.FullName, FileMode.OpenOrCreate);
byte[] Readbuffer = new byte[ReadbufferSize];
int tempCount = fstream.Read(Readbuffer, 0, ReadbufferSize);
string ReadStr += Encoding.Default.GetString(Readbuffer);