我有一个应用程序,在点击视图中点击文件后从FTP服务器下载文件。收到点按后,下载开始。这导致我的应用程序无响应,在logcat它给我从服务器的调试信息,它正在下载就好了,问题是这个。如果下载花费的时间太长,说一分钟左右,android会认为应用程序冻结,并询问用户是否要强制关闭或等待。我该如何防止这种情况?
答案 0 :(得分:1)
因为下载花了这么长时间,UI线程什么都不做。 Android假设你的程序被卡住并提供杀死它,因为它没有任何“进展”。使用另一个线程下载任何内容。
答案 1 :(得分:1)
使用工作线程,请参阅UI线程中的处理昂贵操作http://developer.android.com/guide/appendix/faq/commontasks.html#threading
答案 2 :(得分:0)
需要花费很少时间的一切都需要在工作线程中进行。主线程中的方法需要尽快返回,否则您的应用程序将无法响应。
答案 3 :(得分:0)
是的,您应该使用不同的线程下载文件,我会在文件上传时使用类似加载对话框的内容,