PendingIntent는 여기서 한 단계 더 나아가, 다른 앱이나 system이 나중에 내 앱의 권한으로 특정 Intent를 실행할 수 있게 하는 token이다
구체적으로 모르겟늠
PendingIntent는 여기서 한 단계 더 나아가, 다른 앱이나 system이 나중에 내 앱의 권한으로 특정 Intent를 실행할 수 있게 하는 token이다
구체적으로 모르겟늠
ANR
ANR은 Application Not Responding(애플리케이션 응답 없음)의 약자입니다. 앱이 멈춰서 화면에 "앱이 응답하지 않습니다. 대기하시겠습니까, 아니면 닫으시겠습니까?"라는 시스템 팝업창이 뜨는 바로 그 현상
Activity/Service/Receiver/Provider
책임의 범위:
UI 관리: 화면에 버튼, 텍스트, 이미지 등의 요소를 그리고 사용자의 입력(터치, 스와이프 등)을 직접 처리합니다.
생명주기(Lifecycle) 관리: 화면이 보여지고, 가려지고, 종료되는 과정에 맞춰 필요한 데이터나 리소스를 할당하고 해제해야 하는 책임을 집니다.
화면 전환: 사용자의 요청에 따라 다른 Activity를 호출하여 화면을 전환합니다.
책임의 범위:
작업 유지: 사용자가 해당 앱의 화면을 벗어나 다른 앱을 사용하더라도, 부여받은 작업을 백그라운드에서 끝까지 수행하거나 상태를 유지합니다.
스레드 관리 (매우 중요): Service는 기본적으로 앱의 '메인 스레드(UI 스레드)'에서 실행됩니다. 따라서 네트워크 통신이나 복잡한 계산 등 화면을 멈추게 할 수 있는 무거운 작업을 할 때는 반드시 Service 내부에서 별도의 작업 스레드(Background Thread)를 생성하여 처리해야 할 책임이 있습니다.
책임의 범위:
이벤트 감지 및 라우팅: 시스템이나 앱의 변화를 감지하고, 그에 맞는 적절한 후속 조치로 연결해 주는 '관문' 역할을 합니다.
최소한의 작업: Receiver 자체는 화면을 가지지 않으며, 이벤트를 받으면 상태 표시줄에 알림(Notification)을 띄우거나, 백그라운드 Service를 실행하는 등의 짧고 가벼운 작업만 수행해야 합니다. (작업이 10초 이상 길어지면 시스템에 의해 강제 종료될 수 있습니다.)
책임의 범위:
표준화된 데이터 접근: 데이터베이스(SQLite 등), 파일 시스템 등에 저장된 데이터를 다른 앱이 안전하게 가져가거나 수정할 수 있도록 표준화된 인터페이스(CRUD: 생성, 읽기, 수정, 삭제)를 제공합니다.
보안 및 권한 관리: 아무 앱이나 내 앱의 데이터에 접근하지 못하도록 권한(Permission)을 확인하고 통제하여 데이터를 보호하는 다리 역할을 합니다.
💡 한 줄 요약
Activity: 사용자에게 보여주는 얼굴
Service: 보이지 않는 곳에서 일하는 일꾼
Receiver: 상황을 감지하는 안테나
Provider: 데이터를 안전하게 나누어주는 창고 관리인
VIP를 할당
hello