我想我有一个正在使用我所有内存的列表视图。让我解释一下我在做什么
我有一个设备,我从中获取消息,我给它们加上时间戳,然后将它们添加到 sqldatabase
myConnection.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO Messages (Time, Message) Values ('" + DateTime.Now + "', '"+sqlMessage+"')", myConnection);
cmd.ExecuteNonQuery();
myConnection.Close();
UpdateTable();
这是我更新列表视图的方法:
myConnection.Open();
myCommand.Connection = myConnection;
adapter.SelectCommand = myCommand;
myCommand.CommandText = "SELECT * FROM Messages";
DataSet ds = new DataSet();
adapter.Fill(ds);
lvwMessages.DataContext = ds.Tables[0].DefaultView;
myConnection.Close();
当我让它运行一段时间时,我的程序通常会耗尽内存。我假设它是列表视图从数据库加载了太多消息。但是假设我在显示的屏幕上需要 15 行消息。我如何只加载我需要的 15 个,然后从内存中弹出不需要显示的那些,然后加载新的?