AsyncTask was deprecated 已廢棄(Java 篇)替代解決取代方式

前言

AsyncTask 在 Android 11 (API level 30) 已經被廢棄 (deprecated) 了,官方建議如果有類似非同步邏輯程式執行需求,Java 開發者可以改採用,java.util.concurrent ; Kotlin 開發者可以改採用 Kotlin concurrency utilities 來取代 AsyncTask 方法。

HKT 講師,相關課程

HKT 講師,相關課程:
🎬 從零開始學 Swift 程式設計 免費講義
https://bit.ly/3ekjsEP
🎬 從零開始學 SwiftUI 程式設計 免費講義
https://bit.ly/3xCbUUp
🎬Android 入門開發實戰:口罩地圖(Kotlin) 免費講義
https://bit.ly/2KKZcju
🎬從零開始學 Dart 程式設計 免費講義
https://bit.ly/2OJW6hl
🎬 Flutter 程式設計入門實戰 免費講義
https://bit.ly/37L47Ij
🎬從零開始學 Java 程式設計 免費講義
https://bit.ly/2WlCn6y
🎬 從零開始學 kotlin 程式設計 免費講義
https://bit.ly/2Kx7GrM

替代解決方式

隨著 Kotlin 蓬勃發展,漸漸可以看到 Java 學習資源漸漸變少了,所以這篇 KT 不討論 Kotlin 如何解決,同學有需要的話,可以自行參考官方,而在網路也不難找到 Kotlin 取代 AsyncTask 方法,而這篇就跟大家介紹 java.util.concurrent 取代 AsyncTask 方法。

ExecutorService executor = Executors.newSingleThreadExecutor();
Handler handler = new Handler(Looper.getMainLooper());

executor.execute(new Runnable() {
    @Override
    public void run() {

        //背景處理邏輯程式區塊

        handler.post(new Runnable() {
            @Override
            public void run() {
                //處理 UI 邏輯程式區塊
            }
        });
    }
});

這篇只是簡單的敲門磚,想要了解更多 java.util.concurrent 內容可以搜尋「ExecutorService」、「ScheduledExecutorService」。

參考資料

AsyncTask
https://developer.android.com/reference/android/os/AsyncTask

AsyncTask Android example
https://stackoverflow.com/questions/9671546/asynctask-android-example
題外話:裡面有一張圖看起來像鬼畫符,但仔細看畫的很棒。留給大家追憶:

java.util.concurrent
https://developer.android.com/reference/java/util/concurrent/package-summary

Kotlin concurrency utilities
https://developer.android.com/topic/libraries/architecture/coroutines

Android AsyncTask API deprecating in Android 11.What are the alternatives?
https://stackoverflow.com/questions/58767733/android-asynctask-api-deprecating-in-android-11-what-are-the-alternatives

Android AsyncTask is Deprecated: Here’s another way
https://www.simplifiedcoding.net/android-asynctask/

贊助我們

創作不易,知識無價,免費線上教學就像顆種子,希望藉由您的支持與贊助,能夠無後顧之憂的日漸茁壯,努力前行堅持下去。不論捐贈金額的大小,我們都由衷的感謝每位贊助者,都是我們推廣知識、開放共享知識最大的動力!

您的捐贈將用於:請作者喝杯咖啡,鼓勵繼續創作,持續上傳教學影片與更多新技術文章。

Line Pay 打賞


(由 Line Pay 支付平台,提供轉帳服務)

街口打賞


(由街口行動支付平台,提供轉帳服務)

超商代碼繳費打賞

(由綠界科技支付平台,提供超商繳費代碼)

相關連結

HKT 線上教室 每週六日 更新影片
▶ YouTube 頻道
https://goo.gl/3f2pJi
▶ KT 線上教室 臉書粉絲團
https://goo.gl/27H9Li
▶ Udemy 頻道
http://bit.ly/2ZNdnrt
▶ 贊助我們
https://goo.gl/FiKXAu

AndroidStudio / Xcode
Java / Kotlin / Dart / Flutter
APP / AppDevloper
Android / AndroidDevloper
iOS / iOSDeveloper / Swift / SwiftUI
Programer

這個網誌中的熱門文章

16天記下7000單字

nano 文字編輯器

Android Studio 歷代版本下載點

2022 最新入門基礎課程 Dart教學【從零開始學 Dart 程式設計】Dart 教學課程目錄 (IntelliJ IDEA 開發教學)

【從零開始學 Java 程式設計】JComboBox 元件