Android - 从外部存储中读取大文件

时间:2014-11-06 16:36:40

标签: android multithreading

如果我必须从外部存储器中读取一个大文件,例如SDCard,我知道我应该在一个单独的线程中执行它,但我的问题是:如果我在主线程上执行此操作,它是否会导致异常类似于“NetworkOnMainThreadException”?

我知道网络异常总是会发生,但我想如果读取时间过长,我会导致异常,或者导致android关闭应用程序......

我问这个是因为我现在无法测试它,因为我的Android设备没有外部存储设备而且我的开发机器是SSD(这会加快速度......)

详细说明:
  - 在实际情况中,文件可以大到几GB ......

1 个答案:

答案 0 :(得分:1)

如果你使用的是直接文件输入流,那么你不会得到异常,但你可能会得到一个ANR。这允许用户随后终止进程并退出应用程序。

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