장시간의 시계와 이것이 내 첫 번째 게시물이므로 제발 쉽게 가십시오. 둘러 보았지만 쿼리가 매우 구체적이어서 다른 곳에서는 찾을 수 없습니다.사전 저장 및로드 중. 메모리 풋 프린트 개선
2 개의 컨트롤로 구성된 애플리케이션이 있습니다.
- 왼쪽의 컨트롤에는 XML 파일에서 매핑 된 검색을 표시하는 트리보기가 포함되어 있습니다. 각 검색에는 연결된 GUID가 있습니다.
- 오른쪽의 컨트롤은 DataGrid를 표시합니다. 그 정보는 Dictionary (Guid < -> Dataset)를 통해 트리 뷰에서 가져옵니다.
사용자가 트리 뷰에서 노드를 클릭하면 내 응용 프로그램이 검색이 연결된 GUID를 처리하고 병합되고 데이터 격자에 표시되는 관련 데이터 집합을 표시합니다.
응용 프로그램을 종료하거나로드 할 때 사전을 저장 (직렬화)하고로드 (병렬화)합니다.
나는 최근에 메모리 프로파일 링을했는데, 더 큰 검색을하기 위해서는 사전 정렬이 필요한 사용자 기계의 제한된 용량을 위해 사전의 메모리 공간이 상당히 커질 수 있습니다 (200MB).
나는 이것을 달성하는 방법을 누군가가 알고 있는지 궁금해하고있었습니다.
필자는 Serialisable Dictionary를 구성 데이터 집합으로 분할하고 하드 드라이브에 개별적으로 파일 이름으로 GUID를 저장하는 방법에 대해 생각해 보았습니다. 저장된 데이터 집합은 각 Node.Click 이벤트와 함께 deserialised되고 그리드보기에 표시됩니다. 이 문제는 이전 검색을 저장하고 새 검색을로드 할 때마다 각 클릭 이벤트 사이에 잠시 멈추는 문제가 있습니다.
코드를 표시 할 수 있습니까? – Enigmativity
어떤 코드를보고 싶습니까? Enigmativity? 응용 프로그램의 여러 측면을 다루는 꽤 많은 비트가 있습니다. – Raza
당신의 질문에 무엇이 일어나고 있는지를 보여주는 코드. 코드의 본질을 볼 수 있다면 더 나은 도움을 줄 수있을 것입니다. – Enigmativity