Dagger 공식문서 정리하기 #2 - Dagger Android

Dagger in Android

Dagger는 컴파일된 바이트코드 후처리를 프로가드에 의존하고있다.

안드로이드에서의 Dagger사용이 어려운이유

안드로이드 어플리케이션에서 대거사용이 어려운 주된 이유는 Activity, Fragment 와 같이 많은 안드로이드 프레임워크의 클래스들이 OS 자체에서 인스턴스화 되기 때문이다. 하지만 내부에서 멤버로 주입된 객체의 경우에는 잘 작동한다. 그 대신에, 멤버 인젝션은 Lifecycle을 잘 고려해서 사용해야 한다.
즉 (Actiivty, Fragment#onCreate)시에 컴포넌트를 인젝트 시킬수 있도록 해야한다.

dagger.android 패키지에있는 클래스들을 사용하면 액티비티마다 매번반복되는 boilerplate 코드를 단순화 시킬수 있다. 패키지에서 제공하는 신규 APIs들을 컨셉에 맞게 사용하고 , Lifecycle에 맞게 잘 활용하면 된다.

Injecting Activity Objects