Il semble qu'il y ait quelques différentes façons d'obtenir une image bitmap à partir du stockage sur un téléphone.La meilleure façon de récupérer et redimensionne bitmap de stockage du téléphone
Je lis les données de toutes les images à l'aide d'une requête MediaStore et j'économiser le chemin et le imageId en mémoire. Puis plus tard si je veux télécharger une petite vignette de l'image, je peux:
1) interroger le médiastore pour un mini/mini type de vignette basé sur l'id de l'image, puis créer un bitmap mis à l'échelle de celui pour s'adapter à mon besoins exacts (si le micro/mini est pas la taille correcte)
Bitmap bm = MediaStore.Images.Thumbnails.getThumbnail(context.getContentResolver(), imageId, MediaStore.Images.Thumbnails.MINI_KIND, null);
Bitmap.createScaledBitmap(bm, (int)newWidth, (int)newHeight, true);
ou
2) récupérer le bitmap à partir de l'emplacement du fichier, puis créer une image bitmap à l'échelle de ce
Bitmap bitmap = BitmapFactory.decodeFile(url);
Bitmap.createScaledBitmap(bitmap, (int)newWidth, (int)newHeight, true);
que je faisais à l'origine # 1 parce que je pensais que la génération des vignettes serait rapide de la Mediastore qui rendrait la finition des processus createScaledBitmap plus rapide plutôt que de créer une image bitmap à l'échelle de l'image pleine grandeur. Y a-t-il un meilleur moyen ou cette différence est-elle complètement négligeable?
Oui exactement ce que je pensais. Je ne savais pas s'il y avait quelque chose qui me manquait qui ferait une différence. – pat