저는 Compact Framework 2 및 vb.net 코드를 실행하는 Windows 모바일 응용 프로그램을 사용하고 있습니다. 결정된 시간마다 응용 프로그램을 동기화해야하므로 system.threading.timer를 사용하여 각 동기화 프로세스에 대해 미리 정의 된 타이머를 설정합니다.컴팩트 프레임 워크 2.0에서 메모리 누수 디버깅
문제는 하나입니다. 내 메모리가 빠르게 구축되어 24MB에 도달하고 OutOfMemoryException으로 인해 응용 프로그램이 손상됩니다.
콤팩트 프레임 워크의 GC가 좋지 않아서 gc 힙이 2MB 밖에 안되며 각 동기화마다 4MB를 사용하고 gc는 2MB 만 정리합니다.
컴팩트 프레임 워크 2.0에서 빌드 된 성능 모니터 도구를 사용하려고했지만 "아직 살아있다"는 개체 만 제공하고 각 부분에서 무슨 일이 벌어지고 있는지에 대한 실질적인 개념이 없도록 정리되거나 처리되지 않았습니다. 앱.
Compact Framework 2.0에서 메모리 누수를 모니터링하는 효율적인 방법이 있습니까? 어떤 방법으로 문제를 일으키고 어떤 코드 부분에 문제가 있는지 안내해주는 사람이 있습니까?
다른 방법으로는 32MB의 여유 공간이있는 효율적인 방법으로 내 메모리를 관리하는 데 도움이되는 방법입니다. 여기에는 매우 좁은 공간이 있습니다.
내 관점에서 볼 때 메모리 누수는 개체를 할당 할 때 사용 후 삭제 (폐기 및 Null로 설정)하지 않는 경우입니다. 의심되는 각 기능의 전후에 메모리 상태를 덤프합니다. 그런 다음 메모리를 해제하지 않고 해제되지 않은 객체를 찾습니다. 해당 객체에 대한 참조가 프로세스에 존재하는 한 객체는 자동으로 삭제되지 않습니다. – josef
은 [Compact Framework Power Toys] (https://www.microsoft.com/en-us/download/details.aspx?id=13442)의 NETCF CLR 프로파일 러에서 각 개체의 수를 보여줍니다 생성되는 방법과 개체를 만드는 방법은 무엇입니까? – bit2know