我在使用 Unity 的网络代码 NetworkList 时遇到问题,在编辑器中测试时它工作正常,只是我收到两条错误消息:“本机集合尚未释放,导致内存泄漏”。我已经检查过并知道错误来自于我创建 NetworkList,但我不知道如何解决此问题或我做错了什么。我已经花了很多时间在这上面,请帮忙。
public class Vehicle_Handler : NetworkBehaviour
{
// private
[SerializeField] new Renderer renderer;
public NetworkList<bool> seats = new NetworkList<bool>();
public bool hasDriver;
void Update()
{
if (seats.Count == 0)
{
seats.Add(false);
}
if (Input.GetKeyDown(KeyCode.Space))
{
seats[0] = !seats[0];
Debug.Log(seats[0]);
}
renderer.enabled = seats[0];
}
}
这几乎是一个空脚本,但它给出了一个错误,我不知道为什么。我有点羞于问这个问题,但我找不到这方面的文档或示例。
NetworkList
正在后台分配内存。
当不再需要时,你应该正确地
Dispose
它
private void OnDestroy()
{
seats?.Dispose();
}