unity3d Socket导致启动游戏慢启动卡住问题

最近发现游戏项目每次启动都要花很久时间。找了很久。发现是socket的原因。

1

 

发现注释掉socket里的2个多线程就不会了。然后一直以为是多线程的原因。找了会。才发现,是在游戏结束时。自己建立的多线程以及socket是没有被释放。

需要自己手动释放。在OnDestroy里将线程和socket手动释放掉就可以了。

void OnDestroy()
    {
        sendEcho.Abort();
        mThreadHandleRecv.Abort();
        clientSocket.Close();
        registers.Clear();
        sendEcho = null;
        mThreadHandleRecv = null;
        clientSocket = null;
        registers = null;
    }

 

习惯了unity的释放资源。都忘记了要自己手动释放资源。吃一见长一智。以后得注意了。!

 

本文链接:

https://bobsong.cn/651.html
1 + 9 =
快来做第一个评论的人吧~