1. AsyncTask对象的创建代码必须在主线程中调用;
2. 直接new AsyncTask对象可能导致内存泄漏;
3. execute方法必须在主线程中调用;
4. execute方法在Android1.6之前串行,Android1.6之后并行,Android3.0后串行;
5. 由于在Android3.0后,execute()方法使用内部定义的默认线程池顺序执行, 可能出现等待很久才执行doInBackground方法,所以开发应该使用executeOnExecutor()方法,调用正确的自定义线程池并发执行.