Middle
Kaip sukurti srautą Android?
sobes.tech AI
Atsakymas iš AI
Android galite kurti srautus šiais būdais:
-
Paveldėjimas iš
Thread:// Klasė, paveldinti iš `Thread` class MyThread extends Thread { @Override public void run() { // Kodo dalis, vykdoma naujame sraute System.out.println("Srautas sukurtas paveldėjimu iš `Thread`"); } } // Srauto kūrimas ir paleidimas MyThread myThread = new MyThread(); myThread.start(); -
Runnablesąsajos įgyvendinimas:// Klasė, įgyvendinanti `Runnable` sąsają class MyRunnable implements Runnable { @Override public void run() { // Kodo dalis, vykdoma naujame sraute System.out.println("Srautas sukurtas `Runnable` įgyvendinimu"); } } // Srauto kūrimas naudojant `Runnable` Thread thread = new Thread(new MyRunnable()); thread.start(); -
Naudojant
AsyncTask(pasenusi): fono operacijų vykdymui ir UI atnaujinimui. -
Naudojant
HandlerThread: specialusThreadklasės tipas suLooperirHandler, kuris palengvina žinučių eilės darbą fone.// `HandlerThread` kūrimas HandlerThread handlerThread = new HandlerThread("MyHandlerThread"); handlerThread.start(); // `Looper` gavimas Looper looper = handlerThread.getLooper(); // `Handler` sukūrimas, susietas su `Looper` Handler handler = new Handler(looper); // Užduoties siuntimas į eilę handler.post(new Runnable() { @Override public void run() { // Kodo dalis, vykdoma `handlerThread` System.out.println("Srautas sukurtas naudojant `HandlerThread`"); } }); -
Naudojant
ExecutorServiceirThreadPoolExecutor: valdyti srautų bazę.import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; // Fiksuoto dydžio srautų bazės sukūrimas ExecutorService executor = Executors.newFixedThreadPool(2); // Užduoties siuntimas vykdymui executor.execute(new Runnable() { @Override public void run() { // Kodo dalis, vykdoma viename iš bazės srautų System.out.println("Srautas sukurtas naudojant `ExecutorService`"); } }); // Bazės užbaigimas (svarbu išvengti nutekėjimų) executor.shutdown(); -
Naudojant Kotlin korutinas: šiuolaikinis požiūris asinchroniniam programavimui Android.
import kotlinx.coroutines.* // Korutinos paleidimas fone GlobalScope.launch(Dispatchers.IO) { // Kodo dalis, vykdoma fone (IO) sraute println("Srautas sukurtas naudojant korutinas") }