모든 :Android, 인스턴스 변수 인스턴스, 스레드?
내가 다른 인스턴스 변수와 함께 선언 및 인스턴스화 핸들러가 코드를 공부하고:
public class SomeActivity extends Activity {
Handler handler = new Handler(); // What thread is this taking place on?
// rest of class omitted
}
그래서는 UI 스레드에서 인스턴스화되고 있습니까? ProgressBar에 Runnable을 게시하는 데 사용되므로 ProgressBar를 UI 스레드에서만 조작해야한다는 것을 이해합니다.
응용 프로그램의 활동이 응용 프로그램의 UI 스레드에서 실행
안드로이드 워드 프로세서에서 onCreate (에서 만든 뭔가) 인 것을 말한다. 일단 UI가 활동의에서 onCreate() 방법, 예를 들어, 인스턴스화, 다음 UI와의 모든 상호 작용은. "UI 스레드에서
를 실행해야하지만이에서 onCreate 전에 일어나고있다().
어떤 정보를감사합니다,
마이클 너무
클래스 수준 필드의 초기화를 제외하고는 onCreate() 전에 아무 일도 발생하지 않습니다. 새로운 Handler()가 있는데 아무 것도하지 않습니다. Runnable은 어디에 게시됩니까? 질문에 대답하기 위해 Handler는 Activity 컨텍스트 내에서 선언되므로 Runnable은 UI 스레드에서 실행됩니다. 그렇지 않은 경우, 뷰를 터치하면 (자), 예외가 슬로우됩니다. – Simon