Question

J'utilise une version LazyList pour charger des images. Il utilise le stockage externe, ce qui est pas mal. Mais afin de ne pas montrer que les fichiers à tout le monde avec un navigateur de fichiers à la main, je l'ai pensé à utiliser à la place mémoire interne, la quantité maximale de mémoire pour ce qui est (5 Mo).

Que dois-je faire? Y at-il d'autres possibilités?

Était-ce utile?

La solution

AFAIK il n'y a aucune limite sur la mémoire interne par application. Mais, il est vrai, que cette mémoire est généralement faible si les utilisateurs ont beaucoup d'applications sur l'appareil afin que vous ne devriez pas l'utiliser pour le grand (ou plusieurs) fichiers.

Je partirais avec mémoire externe (carte SD) et si l'accès aux images brutes est un problème, alors je:

  1. Crypter le fichier. C'est lourd et ça va ralentir les choses.
  2. Scramble le fichier. Ceci implique le décalage autour des octets, par exemple déplacer 1000 premiers octets à la fin du fichier, etc .. Vous pouvez créer votre propre version de InputStream qui fait octet brassage, et le transmettre à BitmapFactory.decodeStream(..).

Autres conseils

Mémoire interne doit être utilisé pour les petites choses que vous ne voulez pas que quiconque de falsifier. La mémoire externe (généralement une carte SD) est accessible par d'autres applications et par l'utilisateur. Comme une note de côté, la mémoire interne est « coûteux » et les utilisateurs ont tendance à des applications désinstaller qui prennent beaucoup de mémoire interne.

Avec la mémoire externe, assurez-vous juste que vous vérifiez qu'il est en fait disponible. La carte SD peut être manquant, éjecté, monté ou même inexistant (pas tous les appareils Android ont cela).

vitesses d'accès varient. Je sais pertinemment que certains appareils Samsung ont stockage externe plutôt lent alors que leur stockage interne est très rapide.

Une autre option serait de charger vos images à partir du réseau. Cela permettrait également de vous permettre de les contrôler si vous avez besoin de les changer à l'avenir. les hosing sur Amazon S3 coûterait environ quelques centimes par mois.

Si ous ne veux pas que tout le monde avec un navigateur de fichiers pour voir vos fichiers, vous pouvez créer un dossier avec un point avant comme ça « /sdcard/.hidden » Mais si elles bascule afficher les fichiers cachés et les dossiers moins chanceux.

Heres un lien à la page applications sur le stockage de données

Hope this helps

Juste une note (je n'ai pas la réputation suffisante pour ajouter un commentaire). @WinOrWin évidemment le fil que vous faites référence parle de « mémoire », la RAM pendant que les pourparlers de cette discussion sur « l'espace de stockage » (même si familièrement les gens pourraient s'y référer comme « mémoire interne / externe »). Ce n'est pas la même chose. (Par ex. La différence fondamentale entre l'espace de disque dur et la mémoire).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top