Autore Topic: caricamento immagini lento!  (Letto 587 volte)

Offline Marcox

  • Utente junior
  • **
  • Post: 56
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC wildfire
  • Sistema operativo:
    Windows XP
caricamento immagini lento!
« il: 19 Maggio 2013, 09:07:31 CEST »
0
ciao a tutti! ho un piccolo problema!
devo mostrare delle immagine in una GridView, le immagini vengono prelevate e decodificate con i metodi qui sotto...
il problema è che per le immagini grandi (es. foto) ci mette un sacco di tempo! a volte anche 2 secondi!
C'è un qualcosa di più veloce che posso fare?

Codice (Java): [Seleziona]
        public  Bitmap decodeSampledBitmapFromResource(String realpath,
                int reqWidth, int reqHeight) {
                final BitmapFactory.Options options = new BitmapFactory.Options();
            options.inJustDecodeBounds = true;
           BitmapFactory.decodeFile(realpath, options);
            options.inSampleSize =calculateInSampleSize(options, reqWidth, reqHeight);
           options.inJustDecodeBounds = false;
            return BitmapFactory.decodeFile(realpath, options);
        }
       
        public static int calculateInSampleSize( BitmapFactory.Options options, int reqWidth, int reqHeight) {
 
    final int height = options.outHeight;
    final int width = options.outWidth;
    int inSampleSize = 1;
    if (height > reqHeight || width > reqWidth) {
        final int heightRatio = Math.round((float) height / (float) reqHeight);
        final int widthRatio = Math.round((float) width / (float) reqWidth);
        inSampleSize = heightRatio < widthRatio ? heightRatio : widthRatio;}
   
    return inSampleSize;
}