디버깅에만 사용됩니다. 다음은이를 사용 IntentService 소스 코드의 일부는 다음과 같습니다
public abstract class IntentService extends Service {
...
private String mName;
...
/**
* Creates an IntentService. Invoked by your subclass's constructor.
*
* @param name Used to name the worker thread, important only for debugging.
*/
public IntentService(String name) {
super();
mName = name;
}
...
@Override
public void onCreate() {
super.onCreate();
HandlerThread thread = new HandlerThread("IntentService[" + mName + "]");
thread.start();
mServiceLooper = thread.getLooper();
mServiceHandler = new ServiceHandler(mServiceLooper);
}
...
}
onCreate 코드에 대해 조금 설명해 주시겠습니까? $ 형식으로 매개 변수를 전달해야합니까, 아니면 단지 규칙일까요? –
deXter
@deXter :'mName' 사용법에 대해서만 설명하겠습니다. 보시다시피 처리기 스레드의 이름을 만드는 데 사용됩니다 (이름을 허용하는 Thread 생성자가 있음). 이것은 현재 실행중인 스레드를 기록해야하는 경우에만 유용합니다. 그래서 내부적으로 안드로이드는 이것을 인간 친화적 인 로깅에 사용합니다. 기본적으로 여기서 일어나는 일은 비 UI 백그라운드 스레드에서 IntentService 페이로드를 실행할 준비입니다. –
@deXter :' $ 에 관해서 - 저는 코드 작성자가 그/그녀 자신의 패턴으로 사용하기로 마음 먹은 것 같아요. 이 경우 나는 보통 IntentService 클래스의 이름을 전달한다. –