2016-12-11 1 views
-1

그림이 표시된 그림 상자가 있습니다. 메모리 사용량은 일반적으로 약 30MB이지만 이미지는 자주 업데이트되며 오래된 이미지는 삭제 되더라도 가비지 수집을 실행하기 전에 메모리가 부족해질 수 있습니다. 자주 업데이트되는 이미지를 표시하는보다 효율적인 방법이 있습니까? 기억 영역을 할당하고 직접 관리해야합니까?이미지를 자주 업데이트하면 가비지 수집간에 메모리가 채워짐

+0

오래된 이미지는 삭제 될 수 있지만 메모리가 즉시 회수 될 수있는 것은 아닙니다. update 메소드의 끝에서'GC.Collect();'를 호출해볼 수있다. 당신이 말한 것처럼 이미지가 자주 업데이트되는 경우, 이것이 최선의 방법은 아니지만 오랜 가비지 메모리가 문제가되는지 여부를 알 수 있습니다. – Abion47

+0

@ Abion47 GC를 실행하면 메모리 사용량이 정상으로 되돌아갑니다. 나는 그것을 공연으로 넘길 수 있으며 GC가 돌아갈 때마다 ~ 30MB로 바로 돌아갑니다. 메모리를 자주 자주 비우는 것이 아닙니다. GC.Collect()로 확인했습니다. – FlyingMonkey

+1

일부 코드는 명시 적으로 –

답변

0

같은 문제가있는 게시물을 발견했으며 대답을 통해 문제가 잘 설명됩니다.

Garbage Collection not happening even when needed

더 많은 메모리 정말이 프로그램은 평균 컴퓨터에서 실행해야하기 때문에 옵션을 선택하지 않습니다. 나는 이미지를 업데이트하는보다 효율적인 방법을 찾아야 할 것이다.

+0

이것은 질문에 대한 업데이트이므로 많은 답변이 아닙니다. 따라서 질문을 편집해야합니다. – Abion47

+0

@ Abion47'GC.Collect()'를 호출하는 것 외에도 실제로 해결책이 없습니다. 나는 그것을 할 다른 방법을 찾아야 할 것입니다. – FlyingMonkey

+0

이미지를 다른 이미지로 업데이트 하시겠습니까? 아니면 하나의 이미지 인스턴스로 달성 할 수 있습니까? – Abion47

관련 문제