AsyncTask class VS AsyncTask 对象

AsyncTask class VS AsyncTask object

无法找到以下哪种使用 AsyncTask 技术更好(性能方面、内存管理方面、设计方面)的问题的答案?

对象示例

class AsyncTaskObjectExample {

    protected AsyncTask<String, Integer, Boolean> asyncTaskObject = new AsyncTask<String, Integer, Boolean>() {
        @Override
        protected Boolean doInBackground(String... params) {
            /* YOUR PROCESSES */
            return true;
        }
    };
}

CLASS 示例

class AsyncTaskClassExample {

    class AsyncTaskClass extends AsyncTask<String, Integer, Boolean> {
        @Override
        protected Boolean doInBackground(String... params) {
            /* YOUR PROCESSES */
            return true;
        }
    }
}

你提到的都是class。第一个是Anonymous inner class。当你这样写时:

new AsyncTask<String, Integer, Boolean>() {
        @Override 
        protected Boolean doInBackground(String... params) {
            /* YOUR PROCESSES */ 
            return true; 
        } 
    }; 

这成为一个匿名内部 class 扩展 AsyncTask.

您可以在这里阅读更多关于匿名内部 classes 的信息:https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html

你可以尝试任何对你来说更容易理解的。