2016-03-28 2 views
1

Le moment de stocker des fichiers dans SDCard, il prend beaucoup de temps, mais si je stocke les fichiers dans le stockage interne, il prend moins de temps.Le moment de stocker des fichiers dans SDCard est très lent (prendre plus de temps)

Mon code:

public File getTileViewImageDirectory() { 
    // check SDCard if available or not, if available store in SDCard  
    // else store in internal storage 
    if(android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED) && !android.os.Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED_READ_ONLY)) { 
     File[] dirs = ContextCompat.getExternalFilesDirs(context, null); 
     File directory = new File(dirs[dirs.length > 1 ? 1 : 0].getParentFile().getAbsolutePath() + AppConstants.TILEVIEW_IMAGE_LOCATION); 
     return directory; 
    } else { 
     return new File(context.getFilesDir().getAbsolutePath() + AppConstants.TILEVIEW_IMAGE_LOCATION); 
    } 
} 

Note: Si SDCard pas disponible que par défaut il va stocker dans la mémoire interne. Lorsque vous utilisez le stockage interne, il est rapide (moins de 30 secondes), mais en stockage externe, il prend plus de temps (plus de 1 minute).

Comment puis-je diminuer l'heure lorsque j'utilise un stockage externe?

Répondre

-1

Pour enregistrer directement sur la carte SD sera toujours plus lent. La seule façon d'améliorer la vitesse est d'utiliser/acheter un high speed SD card.

En regardant également votre code, je dois vous avertir qu'à partir de la version 4.4 d'Android, la carte SD n'est plus accessible avec l'API File commune. Vous devrez utiliser à la place le nouveau Storage Access Frameork.

+0

Ce cadre d'accès au stockage prendra-t-il en charge les données de magasin dans la carte SD –

+0

Le SAF (Storage Access Framework) est la nouvelle façon officielle de travailler avec la carte SD dans Android KitKat et au-dessus. – PerracoLabs