J'essaie d'afficher des images de stockage interne Android, j'ai seulement 4images (les images sont des captures d'écran prises auparavant), je montre ces images dans un GridView, cela fonctionne, mais il prend trop de temps, voici mon code:Lire les images byte byte de android le stockage interne prend trop de temps
FileInputStream fis = null;
DataOutputStream outWriter = null;
ByteArrayOutputStream bufStream = null;
String imageFile;
int occurence;
for (int i=0; i<4; i++) {
try {
occurence = i+1;
imageFile = "preview"+occurence+".png";
fis = openFileInput(imageFile);
bufStream = new ByteArrayOutputStream();
outWriter = new DataOutputStream(bufStream);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int ch;
byte[] data = null;
try {
**while((ch = fis.read()) != -1)
outWriter.write(ch);**
outWriter.close();
data = bufStream.toByteArray();
bufStream.close();
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
favorPreviews.add(BitmapFactory.decodeByteArray(data, 0, data.length)) ;
}
Comme vous pouvez le voir, je suis en utilisant FileInputStream de les lire, mais qui lit les fichiers octet par octet dans cette boucle:
while((ch = fis.read()) != -1)
outWriter.write(ch);
Et cela prend trop de temps, quelqu'un sait-il un moyen plus rapide de lire ces images?
merci beaucoup, je vais essayer –