Pour info : vu que tu viens du merveilleux monde Apple, fait attention à la mémoire vive. Android garanti 16 Mo pour une application. C'est tout. La RAM allouée à chaque app' dépend des terminaux et des versions. Sauf sur des brontosaures, ce n'est plus vraiment un problème, mais oublie l'app' qui prend 116 Mo de RAM sur iPad ou iPhone 6 
Tu cherches à faire une application qui se rapproche, dans le concept, de pinterest je trouve.
Tu cherches à réaliser un cache. A déterminer ensuite si ce cache-là doit être par session ou persistant. Le goulot sur un cache par session sera la RAM et il faudra faire des écritures disque pour la conserver, ce qui créera un temps (léger) de latence qui peut habilement être masqué via divers effets ou ergonomie.
Pour un cache persistant, il faudra que tu sauvegardes sur le disque. Ici, pas de miracle, soit en "interne" à l'application, soit sur la carte SD. L'interne est limité (je ne sais pas à combien) et la SD n'est pas protégé.
Pour info, n'importe qui ayant un smartphone rooté pourra accédé comme il veut à chacune des sections, y compris au cache. Tu ne peux pas du tout protéger tes images de quelqu'un qui les veut.
Pour plus tard, quand tu seras en phase de recette (donc potentiellement tôt) : intéresse-toi à Crashlytics et active-le sur les builds de recette et de prod en mettant à ces deux buildTypes des suffixes différent dans ton build.gradle, ça pourra BEAUCOUP t'aider sur le long terme.
Pour des réponses plus précises : je ne comprends pas le projet. Il y a du multi-user, mais à part ça... Je ne comprend pas ce que ça apporte, comment ils interagissent...
De base, le projet ne m'a pas l'air "tout petit".