Derzeit ist der Cache für geladene Filme doch eher nicht intelligent. Er behält einfach alle Film im Speicher. Solange bis die Anwendung beendet wird. Das kann man wohl besser machen.
Es muss so umgebaut werden, dass der Cache automatisch Filme freigeben kann. Da alle Zugriffe über eine Klasse laufen geht das. Diese Klasse muss so umgestellt werden, dass bei jedem Zugriff ein Timestamp gesetzt wird. Dieser Timestamp dient dazu Filme die schon länger nicht mehr angefordert wurden zu "entsorgen". Zusätzlich dazu muss die Anzahl der maximal gecachten Filme geregelt werden. Hier muss in jedem Fall dafür gesorgt werden, dass alle Filme die in der Cover-Ansicht dargestellt werden sich auchim Speicher befinden. Es darf auf keinen Fall während der Anzeige ein Film gelöscht werden.
Entsprechend wäre es denkbar, dass
- nach 20 Sekunden alle Filme über den letzten 100 entfernt werden
- nach 1 Minute alle Filme über den letzten 50 entfernt werden
Das Ganze sollte dann allerdings den Ladevorgang so wenig wie möglich beeinflussen. Was dafür spricht, dass es in einen Thread ausgelagert wird. Erhöht aber das Risiko, dass dabei was schief geht.