많은 양의 비트 맵 파일을 표시하는 WPF 응용 프로그램과 함께 작업하고 있습니다. 앞으로 벡터 그래픽을 사용하여 솔루션을 구현할 계획이지만, 현재이 문제가 있습니다 :사전에서 가장 오래된 항목 제거
응용 프로그램이 디스크에서 파일을 읽는 시간을 최소화하기 위해 Dictionary<string, BitmapImage>
(여기서 string은 이미지의 파일 경로 임) 가장 최근에 사용한 이미지를 유지합니다. 최근에 본 이미지가 요청되면 프로그램은 디스크 대신 Dictionary
에서 이미지를 가져옵니다. 그러나 볼 수있는 이미지 수가 늘어 나면 프로그램에서 사용하는 RAM의 양도 늘어납니다. 그래서 내 아이디어는 제한된 양의 이미지를 보유하고 있었고 새 디스크가 디스크에서로드 될 때 가장 오래된 것을 덮어 씁니다. Dictionary
.
가능하면 어떻게하면 좋을까요? 나는 SortedDictionary
을 사용해 보았지만, 으로 쓰는 방법을 알아낼 수 없으며, keys
또는 items
에는 추가 된 시간/순서에 대한 정보가 없습니다.
SortedDictionary<DateTime, string>
을 DateTime IComparer
으로 유지하는 것이 합리적인 해결책일까요? 이렇게하면 새 파일을 추가하면 가장 오래된 추가 파일의 경로를 찾을 수 있고 Dictionary
에있는 올바른 이미지와 일치시킬 수 있습니다. 이런 종류의 고급 솔루션을 생각하지만. 간과되거나 내장 된 솔루션은 무엇입니까?
Bob Rossney가 사용하겠습니다. 내 자신의 평범한 것을 만드는 것보다 좋은 것을 사용하는 것이 낫습니다; P 고마워요! – Tobbe