我的应用程序的一小部分检查用户设备上是否存在文件。文件列表可能很长 - 显然长到足以导致少数用户出现 ANR。一千个文件绝不是不可能的。
代码很简单:
new File(fileUrl).exists()
我目前正在主线程上执行此操作,因为我需要阻塞操作。我可以使用一个AsyncTask
类来完成它,然后在完成后继续其余的工作,但我想知道这是否是一个有效的原因?
所有的工作都是在后台完成的Service
,如果这有什么改变的话。我也可能会遇到方向变化,这可能会让AsyncTask
. 会Handler
更好吗?
所以,总结一下:我是否应该在后台服务中使用 AsyncTask 进行可能长时间运行的操作,其中可能会发生方向变化?