Context

Janice._.oooh·2021년 11월 24일
0

Android/Java

목록 보기
3/8
post-thumbnail
public abstract class Context
extends Object

java.lang.Object
   ↳	android.content.Context
public class View
extends Object implements Drawable.Callback, KeyEvent.Callback, AccessibilityEventSource

java.lang.Object
   ↳	android.view.View

Context란?

Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc.

애플리케이션 환경에 대한 전역정보 인터페이스입니다.
안드로이드 시스템에 의해 제공되는 추상클래스 입니다.
이것은 애플리케이션별 리소스 및 클래스에 액세스 할 수 있으며, 액티비티 활성, 브로드캐스팅 및 수신 등과 같은 애플리케이션 수준의 작업에 대한 호출도 허용합니다.



Android Context

  • Application Context :
    Application 자체의 생명주기 즉, life cycle에 영향을 받습니다.
    getApplicationContext()
    Activity.getApplicationContext()
    getApplication()

  • Activity Context :
    Activity life cycle에 따라 onDestroy()과 함께 사라지며, Activity를 다시 시작할때 새로운 context가 생성됩니다. Activity Context를 잘못 사용하면 Activity가 종료되더라도 참조가 유지되어, memory leak(메모리 누수)를 발생시킵니다.
    getContext()
    View.getContext()
    XXXActivity.this

Android Application 내에 다수의 Activity가 존재합니다.
따라서, Activity는 Application의 클래스, 자원 및 정보에 접근할 수 있습니다.



Reference)

https://developer.android.com/reference/android/content/Context
https://developer.android.com/reference/android/view/View
https://medium.com/swlh/context-and-memory-leaks-in-android-82a39ed33002

Icons made by Freepik from www.flaticon.com

0개의 댓글