c#

C# 메모리문제에 대해서#미해결

sieunju 2017. 2. 21. 17:20
반응형


현제 제가 하고있는 게임 프로젝트에서 가장 큰 문제에 대해서 말해보도록 하겠습니다. (지금도 깔끔히 해결된 건 아닙니다.)


C# 언어란게 메모리를 "자동"으로 처리해준다고들 하지만, 만약에 초당 백만번 또는 무수히 많은 메모리를 생성한다면? 그에대해 메모리는 폭풍같이 누수가 일어납니다. (이거땜에 제가 많이 힘들어 하고있는 부분입니다 :( )


그럼 메모리를 삭제하면 되지 않나요?? 라는 생각을 가질텐데..그게 말이야 쉽지 실제론 제 수준에선 많이 어렵습니다. ㅜㅜ


//위 캡처사진은 제가 만든 C#클라이언트가 C++ 서버한테 초당 3000번 패킷을 보내고 받는 과정과 이러한 이벤트를 끝낸후 메모리가 자동으로 다시 정리되는 사진이 되겠습니다.


그러다가 GC.Collect() 라는 것을 알게되서 일단 급한 불은 껏지만, 이게 정답은 아니라서 다른 방법이 있을거라 생각했지만, 역시나...아래 블로그 글을 보고 알았습니다. 

http://helloit.tistory.com/40


Dispose 를 잘하면 된다고 하는데 (보낸후 이벤트 처리하는 곳에 Dispose 를 해줬는데..;; 이게 아닌가;;)


정말 메모리누수 문제란 정말 어려운거 같다..


언젠간 풀릴거 같지만, 혹시나 이러한 문제를 해결할수있는 "방법" 을 알려주실분이 있다면 댓글로 남겨주시면

감사하겠습니다. :)


빠른시일내에 해결되었으면 좋겠다 :)



반응형