안드로이드 SQLite DB에 싱글톤 적용하기(작성중)

안드로이드 내부 데이터베이스를 생성해서 써야할 프로젝트를 진행하고있다.

주요 로직을 실행할 때마다 내부 데이터베이스의 데이터들을 불러오고 저장할 필요가 있기 때문에,

아무것도 모르고 구현을 하게되면 매번 DB 객체를 생성하고 종료하는 것을 반복하게 되는 것이었다.

이는 매우 비효율적이고 프로그램이 커지게되면 어떤 문제를 일으킬지 몰라 ‘최초 한 번만 메모리를 할당하고 그 메모리에 인스턴스를 만들어 사용하는’ 싱글톤 패턴을 적용해보려 하였다.

이 글을 통해 당신이 배울 수 있는 것

  1. 싱글톤 패턴이란?
  2. 안드로이드 SQLite DB에 싱글톤 패턴 적용해보기


그렇다면, 나는 싱글톤이라고 말만 들어봤지, 정확한 개념을 머릿 속에 가지고 있지 않다.
싱글톤란 무엇일까?


What is Singleton(Pattern)?

  • 자바 디자인 패턴 중에 하나인듯하다.
  • 하나의 클래스에 대해 앱이 시작될 때 한번만 메모리를 할당하고(static 이용), 그 메모리에 인스턴스를 생성한다.
  • 생성자가 여러번 호출되어도 실제 생성되는 객체는 하나다.
  • 최초에 만들어지는 생성자(A) 이후의 생성자(B) 호출에 대해서는 최초에 만들어지는 생성자(A)를 대신 반환해준다.

So, How can I use that?(General)

####1. 이른 초기화

// singleton code here
public class SingletonPatternExample {
    public SingletonPatternExample() {
        // constructor
        
    }
}

####2. 늦은 초기화


SQLite with Singleton

Singleton의 문제점