2014-11-06 3 views
0

Если мне нужно прочитать большой файл из внешнего хранилища, например SDCard, я знаю, что должен делать это в отдельном потоке, но мой вопрос: если я сделаю это на главный поток, вызывает ли это исключение, подобное «NetworkOnMainThreadException»?Android - Прочитайте большой файл с внешнего хранилища

Я знаю, что сеть исключение будет всегда, но я полагаю, что если читать слишком долго, что-то дело моего исключения или, может привести к андроиду, чтобы закрыть приложение вниз ...

Я спрашиваю об этом потому что прямо сейчас я не могу протестировать его, так как у моего устройства Android нет внешнего хранилища, а моя dev-машина - SSD (что ускоряет работу много ...)

Подробности:
- В реальном сценарии, файлы могут быть такими же большими, как пара GB ...

+0

Все устройства имеют внешнее хранилище. И у многих также есть съемное хранилище SD-карт. Пожалуйста, не смешивайте их. – greenapps

ответ

1

Нет, вы не получите исключение, если вы используют прямые входные потоки файлов, но вы, вероятно, получите ANR. Это позволяет пользователю затем убить процесс и выйти из приложения.

http://developer.android.com/training/articles/perf-anr.html

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