안드로이드에서 static으로 만들어서 다른 activity 사이로 싱글톤 패턴을 사용하는 것은 비추합니다.
메모리에 싱글톤으로 사용하시는 class나 object가 acitivy가 죽더라도 살아 있기 때문입니다.
static이 아닌 한 Acitivy안에서만 살아 있을 Singleton을 만드실 경우엔:
2개이상인 thread가 어느 한 class를 만들어서 사용해야 하지만 하나이상은 만들면 안될때.. 어느 thread가 먼저 만들지 모를 때 (thread의 본질상). 그럴때 singleton을 사용해서 먼저 부른쪽이 class를 만들고, 두번째나 나중에 부르는 쪽은 만들어진 reference만 가져 오면 되는 상황입니다.
public class ContentFactory {
private Clock clock;
public Clock getClock() {
if (clock == null) {
clock = new Clock();
}
return clock;
}
}
요런식으로 만드시고 synchronized 상황에 따라서 넣으셔야 하고요.
그럼 getClock()을 부를때 처음껀 만들고, 두번째부터는 reference만 합니다.