我有一个AsyncTask要执行的类,该类从网站下载大量数据。
如果最终用户在使用时数据连接速度非常慢或参差不齐,我想AsyncTask在一段时间后超时。我的第一个方法是这样的:
MyDownloader downloader = new MyDownloader();
downloader.execute();
Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run() {
if ( downloader.getStatus() == AsyncTask.Status.RUNNING )
downloader.cancel(true);
}
}, 30000 );
启动后AsyncTask,一个新的处理程序被启动,将取消AsyncTask30秒后,如果它仍在运行。
这是一个好方法吗?还是内置一些AsyncTask更适合此目的的东西?
三国纷争
慕容森
慕桂英4014372