fix a problem that always display placeholder image first even if real image is in cache