Onde salvar fotos no Android?

aplicativo @My usa muitas fotos que são baixadas da Internet e armazenadas em cache localmente no telefone Android. Estou me perguntando, qual é a maneira correta de salvar essas fotos. Vejo várias maneiras que não são totalmente satisfatória

Salve-os no cartão SD em uma pasta pública

Utiliza espaço que não será liberado na desinstalação O usuário pode ver fotos na GaleriaPrecisa de uma pasta na raiz do cartão sd (você pode realmente vê-la enquanto navega no telefone)

Salve-os no cartão SD em uma pasta não pública

Utiliza espaço que não será liberado na desinstalação Secretamente usa espaço no cartão SD

Salve-os dentro do aplicativo

Aumenta demais o tamanho do aplicativo

Qual é a maneira correta de salvar localmente as imagens do meu aplicativo para não distrair o usuário e não deixar lixo em lugar nenhum?