Момент хранения файлов на 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-карту всегда будет медленнее. Единственный способ повысить скорость - использовать / купить высокоскоростную SD-карту.
Также, просматривая ваш код, я должен предупредить вас, что начиная с Android 4.4 и выше SD-карта больше не доступна с помощью общего File API. Вместо этого вам нужно будет использовать новый Storage Access Frameork.