2016-03-28 2 views
1

Момент хранит файлы в SDCard, это занимает много времени, но если я храню файлы во внутреннем хранилище, это занимает меньше времени.Момент хранения файлов в SDCard очень медленный (требуется больше времени)

Мой код:

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); 
    } 
} 

Примечание: Если SDCard не доступна, чем по умолчанию он будет хранить во внутренней памяти.

При использовании внутреннего хранилища он работает быстро (менее 30 секунд), но во внешнем хранилище он занимает больше времени (более 1 минуты).

Как уменьшить время использования внешнего хранилища?

ответ

-1

Для сохранения непосредственно на SD-карте будет всегда медленнее. Единственный способ улучшить скорость - использовать/купить high speed SD card.

Также, глядя на ваш код, я должен предупредить вас, что начиная с Android 4.4 и выше SD-карта больше не доступна с общим файловым API. Вместо этого вам нужно будет использовать новый Storage Access Frameork.

+0

Будет ли эта платформа доступа к хранилищу поддерживать данные хранилища в sdcard –

+0

SAF (Storage Access Framework) - это новый официальный способ работы с SD-картой в Android KitKat и выше. – PerracoLabs

Смежные вопросы