einen hab ich wieder gefunden. Wenn ich den Dateicache im MapView einschalte, werden die Daten zwar in dem Verzeichnissen abgelegt. Stell ich eine Ablaufzeit ein (CacheMaxAge) werden zwar Tiles die schon mal im Cache gelandet und abgelaufen sind, neu geladen. Aber Dateien, die nicht mehr angezeigt werden bleiben auf ewig im Cache.
Was fehlt ist ein Aufräumtask, der den Cache (einmal proTag) aufräumt. Oder zumindest eine entsprechende Funktion, die man selber aufrufen kann. (Am besten natürlich in einem eigenen Thread.)
MaxAge wird nur in dieser Funktion verwendet.
Code: Alles auswählen
function TPictureCache.DiskCached(const aFileName: String): Boolean;
var
FullFileName: string;
Age: TDateTime;
begin
if UseDisk then
begin
FullFileName := BasePath + aFileName;
Result := FileAge(fullFileName, Age) and (DaysBetween(Now, Age) <= FMaxAge);
end
else
Result := False;
end;