/ / Освен AsyncTask, има ли все пак в Android да направи нещо по UI нишка от друга нишка? - Java, Android, многонишковост, android-asynctask

Освен AsyncTask, има ли все пак в Android да направи нещо по темата за потребителския интерфейс от друга тема? - java, android, multithreading, android-asynctask

Защото поради някои странни причини, когато използвам AsyncTask за свързване към уеб страница, потребителският интерфейс на приложението ми изостава почти до точката на замразяване, докато AsyncTask се свързва с уеб страницата.

Мислех, че това е така, защото връзката обикновено отнема доста дълго, поне 4 секунди.

Искам да бъда в състояние да актуализирате моя TextView след моята Тема са готови, но как да направя това в Android освен използването на AsyncTask?

Отговори:

1 за отговор № 1

Има няколко начина да направите това:

  • Използвайте Threads или Runnables
  • Използвайте манипулатори, като изпращате съобщения до него
  • Използвайте метода RunOnUIThread
  • Използвайте метода (това е любимият ми пост). Не е необходимо да се използва инстанция за контекст / дейност

Например, можете да създадете нов Handler () и когато искате да изпълните код в основната нишка, направете:

  public static Handler interfaceHandler = new Handler();

...

mInterfaceHandler.post(new Runnable() {

@Override
public void run() {
//Your stuff
}
});

За да завършите информацията, всички изгледи в Androidможе да направи тази публикация (Runnable). Този метод добавя възможност за изпълнение към задачата им, поради тази причина е препоръчително да не използвате изгледи, защото приложението ще се забави. Статичният манипулатор е перфектен за тази работа и е много лесен за изпълнение


0 за отговор № 2

Нещо като това трябва да работи

runOnUiThread(new Runnable() {
public void run() {
// do some stuff here
}
});