2012-10-30 1 views
1

Android 애플리케이션의 서비스 및 활동 모두에서 싱글 톤 Java 클래스를 사용하는 데 잠재적 인 문제가 있습니까?서비스 및 활동 별 싱글 톤 자바 클래스 공유

예 : 싱글은 활동이 서비스 S

서비스 S는 싱글에 대한 핸들을 가지고있다 싱글이다. S는 Singleton이 활동을 시작하도록 요청합니다. Activity는 Singleton에 정의 된 운영 메소드를 호출합니다.

기능 영역에 대한 다양한 작업을 캡슐화하는 몇 가지 싱글 톤이 내 응용 프로그램에 있습니다. 따라서 활동은 다양한 싱글 톤과 상호 작용하여 다양한 작업을 수행합니다.

답변

2

이 방법에 문제가 있다고 생각하지 않습니다. 나는 싱글 톤을 아주 자주 사용하며 전혀 문제가 없었습니다. 메모리가 필요할 때 안드로이드가 싱글 톤 인스턴스를 제거 할 수 있으므로 싱글 톤 인스턴스를 얻을 때마다 널 (null)을 확인할 필요가 있다는 것을 기억해야합니다.

+0

의견을 보내 주셔서 감사합니다. 이 접근 방식을 알고 있으면 다행히 문제없이 도움이되었습니다. –

2

일반적으로 문제가 발생하지 않습니다. 서비스가 별도의 프로세스 (서비스는 android:process attribute이 '.'로 시작하는 것으로 정의 됨)에서 실행되는 서비스를 사용하여 기대할 수있는 유일한 경우입니다. 이 경우 싱글 톤의 인스턴스가 두 개 (각 프로세스마다 하나씩)가됩니다.