주 피사체가 3 개인 피벗 항목이 있고 각 목록에 무거운 ListBox가 있습니다 (각각 약 15Mb, 보통입니까?). 몇 가지 작업이 발생하면 3 개의 항목이있는 다른 피벗 컨트롤이있는 다른 페이지로 이동합니다. 지금까지 모든 것이 좋습니다. 메인 페이지로 돌아 가면 사용한 메모리의 차이가 +2에서 + 4MB까지 나타납니다. 그리고 새 페이지로 이동하고 메인 페이지로 돌아갈 때마다 또 다른 2-4MB가 총 사용 메모리에 추가됩니다. 나는 내 코드에 아무 문제가 없다고 확신한다. 코드에 메모리 누수가 있더라도 그렇게 크지는 않습니다. 이것은 아마도 출시되지 않은 일부 UI 요소와 관련이 있습니다. 수동으로 가비지 컬렉터를 호출합니다 .NavigatedFrom과 onNavigatedTo는 두 페이지 모두에서 jsut을 사용하지만 여전히 동일합니다.WP7 메모리 누수가 있습니까? - 목록 상자 데이터 바인딩이있는 피벗 항목이 포함 된 페이지 간 이동
일부 컨트롤에서는 메모리 누수가 발생할 수 있습니까? 앞에서 말한 것처럼 두 페이지 모두 데이터 바인딩이있는 목록 상자가있는 피벗 항목이 포함되어 있으며 런타임 중에는 데이터가 변경되지 않습니다. 당신이 페이지에서 사용하는 컨트롤의 어떤 누출이있는 경우
은/각 어린이의 부모와 그에 대한 참조를 유지하기 때문에 다음이 페이지의 전체 요소 트리 (누출의 원인이됩니다 당신에게
페이지의 이벤트에 대한 이벤트 처리기를 추가하고 있습니까? 이러한 이벤트를 듣지 않는 것이 메모리 누수의 일반적인 원인입니다. –
두 페이지에 여러 개의 이벤트 처리기가 있지만 페이지가 파괴되면이 이벤트 핸들러가 파괴 된 것으로 생각됩니다. 안 그래요? – johnX99
당신은 맞습니다. Derek .. 웹 연결을 만드는 DLL로부터 컨트롤이 있습니다. 내가 페이지를 떠날 때마다,이 컨트롤은 파괴되지 않습니다. (나는 WebException을 볼 수 있습니다.) 그리고이 페이지를 다시 방문하면 다른 컨트롤이 만들어집니다. 10 회 방문한 후에 나는 10 개의 웹 예외를 볼 수 있습니다. 이건 이상해. 그래서이 물건들을 파괴하기 위해서 내가해야 할 일은 무엇일까요? 이 컨트롤은 아마 타이머 내부에 있으며 1 분마다 웹 주소를 호출합니다. – johnX99