/ / Android, Instantiating Instance Variables, What Thread? - android, multithreading, manipulador, android-progressbar

Android, Instantiating Instance Variables, What Thread? - Android, multithreading, manipulador, android-progressbar

Todos:

Eu estou estudando código que tem um manipulador que é declarado e instanciado junto com outras variáveis ​​de instância:

public class SomeActivity extends Activity {
Handler handler = new Handler();  // What thread is this taking place on?
// rest of class omitted
}

Então, ele está sendo instanciado no thread da interface do usuário? Espero que sim, porque é usado para postar um Runnable para um ProgressBar, e meu entendimento é que o ProgressBar só deve ser manipulado no Thread de interface do usuário.

Os documentos do Android dizem que algo criado em onCreate () é:

As atividades de um aplicativo são executadas nothread de interface do usuário do aplicativo. a interface do usuário é instanciada, por exemplo, na atividade "onCreate () método, todas as interações com a interface do usuário devem ser executadas no thread da interface do usuário. "

mas isso está acontecendo antes de onCreate ().

Obrigado por qualquer informação,

Michael

Respostas:

0 para resposta № 1

Então, ele está sendo instanciado no thread da interface do usuário?

Sim. Um manipulador existirá no segmento onde ele é criado. Você está criando o seu no Main / UI Thread, para que ele possa acessar os elementos da interface do usuário.

mas isso está acontecendo antes de onCreate ().

Isso não afetará em qual thread o manipulador é executado.


0 para resposta № 2

Tudo acontece no thread principal (também conhecido como thread de interface do usuário), a menos que você o execute especificamente em um thread de segundo plano. Então, sim, seu manipulador é criado no thread da interface do usuário.