firestore para la simple descarga de datos y sincronización de la aplicación

El uso de Firebase Firestore para una principalmente una aplicación sin conexión con la capacidad de sincronización con la línea base avanzada de la base de datos?

Estoy construyendo mi aplicación que utiliza Firestore por el revés. Mis datos son alrededor de mil o así .png y estoy planeando cambiar cuando lo desee, pero mis usuarios no podrán cambiar. Sólo descargar haciendo uso de Firestore de sincronización, y que será capaz de utilizar fuera de línea SIEMPRE que lo desee, puede que el uso de ellos durante un año sin conexión. Y cuando van a estar en línea, que se sincronizan con mi línea base avanzada de la base de datos y descargar mi nuevo .png, y se utiliza para el otro año entero sin conexión. Por año, depende del usuario, por ejemplo Un usuario puede querer sincronizar con mi base de datos una vez en un mes para ver si tengo nuevos .png o así, pero el usuario B puede preferir la sincronización de cada año. TAMBIÉN, no solamente añadir nuevo .png, voy a cambiar los existentes y eliminar algunos de ellos, e incluso cambiar su orden cuando yo quiero.

Así 1) 1000 png significa 100 mb, y Firestore documento dice que se almacena en caché los datos, pero yo quiero que mi 100 mb de datos para ser almacenados en locales de almacenamiento persistente, que me estoy perdiendo algo? 2) ¿timestamp se adapta a mis necesidades? Mediante el uso de marca de hora, ¿ firebase eliminar el png guardados en el dispositivo local como puedo eliminar png en mi línea de db? O no cambios de los que he cambiado? Sé que la adición de nuevos png no será un problema. A summerize, tengo un png de la colección en base avanzada en línea de la base de datos y quiero que mis usuarios tengan exactamente la misma colección cuando van en línea y sincronización. Por cierto yo uso el aleteo de frontend y este es un IOS/android. Gracias