4 Matching Annotations
  1. Last 7 days
    1. PendingIntent는 여기서 한 단계 더 나아가, 다른 앱이나 system이 나중에 내 앱의 권한으로 특정 Intent를 실행할 수 있게 하는 token이다

      구체적으로 모르겟늠

    2. ANR

      ANR은 Application Not Responding(애플리케이션 응답 없음)의 약자입니다. 앱이 멈춰서 화면에 "앱이 응답하지 않습니다. 대기하시겠습니까, 아니면 닫으시겠습니까?"라는 시스템 팝업창이 뜨는 바로 그 현상

    3. Activity/Service/Receiver/Provider
      1. Activity (액티비티) 특징 및 역할: 사용자와 상호작용하는 하나의 '화면(UI)'을 담당합니다. 앱을 실행할 때 사용자가 가장 먼저 마주하는 시각적인 진입점입니다.

      책임의 범위:

      UI 관리: 화면에 버튼, 텍스트, 이미지 등의 요소를 그리고 사용자의 입력(터치, 스와이프 등)을 직접 처리합니다.

      생명주기(Lifecycle) 관리: 화면이 보여지고, 가려지고, 종료되는 과정에 맞춰 필요한 데이터나 리소스를 할당하고 해제해야 하는 책임을 집니다.

      화면 전환: 사용자의 요청에 따라 다른 Activity를 호출하여 화면을 전환합니다.

      1. Service (서비스) 특징 및 역할: 화면(UI) 없이 백그라운드에서 오랫동안 실행되어야 하는 작업을 수행하는 컴포넌트입니다. (예: 음악 앱에서 음악 재생, 대용량 파일 다운로드, 위치 추적 등)

      책임의 범위:

      작업 유지: 사용자가 해당 앱의 화면을 벗어나 다른 앱을 사용하더라도, 부여받은 작업을 백그라운드에서 끝까지 수행하거나 상태를 유지합니다.

      스레드 관리 (매우 중요): Service는 기본적으로 앱의 '메인 스레드(UI 스레드)'에서 실행됩니다. 따라서 네트워크 통신이나 복잡한 계산 등 화면을 멈추게 할 수 있는 무거운 작업을 할 때는 반드시 Service 내부에서 별도의 작업 스레드(Background Thread)를 생성하여 처리해야 할 책임이 있습니다.

      1. Broadcast Receiver (브로드캐스트 리시버) 특징 및 역할: 안드로이드 시스템이나 다른 앱에서 방송(Broadcast)하는 특정 이벤트나 메시지를 '수신'하고 반응하는 대기조(안테나) 역할입니다. (예: 배터리 부족, 화면 꺼짐, 비행기 탑승 모드 전환, SMS 수신 등)

      책임의 범위:

      이벤트 감지 및 라우팅: 시스템이나 앱의 변화를 감지하고, 그에 맞는 적절한 후속 조치로 연결해 주는 '관문' 역할을 합니다.

      최소한의 작업: Receiver 자체는 화면을 가지지 않으며, 이벤트를 받으면 상태 표시줄에 알림(Notification)을 띄우거나, 백그라운드 Service를 실행하는 등의 짧고 가벼운 작업만 수행해야 합니다. (작업이 10초 이상 길어지면 시스템에 의해 강제 종료될 수 있습니다.)

      1. Content Provider (콘텐츠 프로바이더) 특징 및 역할: 앱의 고유한 데이터를 안전하게 관리하고, 다른 앱과 데이터를 공유할 수 있도록 해주는 데이터 제공자입니다. (예: 카카오톡에서 내 스마트폰의 '연락처' 앱 데이터나 '갤러리' 사진을 가져올 수 있는 이유)

      책임의 범위:

      표준화된 데이터 접근: 데이터베이스(SQLite 등), 파일 시스템 등에 저장된 데이터를 다른 앱이 안전하게 가져가거나 수정할 수 있도록 표준화된 인터페이스(CRUD: 생성, 읽기, 수정, 삭제)를 제공합니다.

      보안 및 권한 관리: 아무 앱이나 내 앱의 데이터에 접근하지 못하도록 권한(Permission)을 확인하고 통제하여 데이터를 보호하는 다리 역할을 합니다.

      💡 한 줄 요약

      Activity: 사용자에게 보여주는 얼굴

      Service: 보이지 않는 곳에서 일하는 일꾼

      Receiver: 상황을 감지하는 안테나

      Provider: 데이터를 안전하게 나누어주는 창고 관리인

  2. Jun 2026