AsyncTask

1. AsyncTask对于生命周期较短且需要在UI上显示进度和结果的后台操作是很好的解决方案。然而,当Activity重新启动时,这种操作将不会持续进行,也就是说,AsyncTask在设备的方向变化而导致Activity被销毁和重新创建时会被取消。对与生命周期较长的后台操作,如从Internet下载数据,使用Service组件是更好的选择。

2. 每一个AsyncTask实例只能执行一次。如果试图第二次调用execute,则会抛出一个异常。

3. executeOnExecutor(Executor exec, Params... params),以指定参数执行任务,为了使调用者保持任务的一个引用,该方法返回返回任务本身(this)。该方法通常使用THREAD_POOL_EXECUTOR(AnExecutor that can be used to execute tasks in parallel),以使多项任务能够在由AsyncTask管理的线程池中并行运行,不过你可以使用自己定制的Executor。警告:允许多个任务在线程池并行运行通常不是你想要的,因为他们的操作顺序是不确定;如果要保证在任何平台任务顺序执行,可以使用SERIAL_EXECUTOR(AnExecutor that executes tasks one at a time in serial order)。该方法必须在UI线程中调用

你可能感兴趣的:(Android)