根本就不应该问 AsyncTask 有多快这个问题, AsyncTask 主要是用于异步执行耗时较久的任务,例如网络操作或者复杂的数学运算.他的作用只是新开一个线程进行计算,从而避免在主线程中进行耗时较久的操作,阻塞 ui 线程,造成 anr.至于你到50无法执行下去,应该是由于计算的结果超出了 int 数据的上限,

解决方案 »

  1.   

    这和AsyncTask有什么关系?
    你用java或者别的编程语言去算fib(50)也是一样的结果。
      

  2.   

    对于同一个任务不会使程序变快。而会变慢。
    应用的场合是两个或者更多的任务或动作要执行,使后面需要执行的任务不需要等待前面的任务执完毕后再执行,而分一些CPU时间片或由另一个CPU去执行。
      

  3.   

    AsyncTask 只是个实用的异步工具类,其实性能并不高,这个类的源码你可以去看看,有点浪费资源,里面还用了线程池。
    一般用Thread+Handler  就可以了,
      

  4.   

    这和AsyncTask有什么关系?
    你用java或者别的编程语言去算fib(50)也是一样的结果。
      

  5.   


    它不用asynctask在主线程,超过几秒就会出现ANR,主线程还要处理view刷新,性能当然不高了。