Work/Android(9)
-
Android Architecture Components
Android Architecture ComponentsLife-cycle with ease(라이프 사이클의 용이) A. Live Dataㅇ 관찰자 데이터 홀더 클래스 (Observable data holder class)- 라이프 사이클 인식, Fragment 또는 Service 같은 다른 앱 구성 요소 주기를 존중 (lifecycle-aware, it respects the lifecycle of other app components, such as activities, fragments, or services) ㅇ UI가 데이터 상태와 일치하는지 확인 (UI matches your data state)- 관찰자 패턴에 따릅니다. (follows observer pattern) ㅇ 메모리 누출 없음 ..
2018.04.10 -
Android P
Android PBehavior changes (동작 변경 사항)Apps targeting all API levels (모든 API 레벨에서 적용 사항)ㅇ 백그라운드 앱의 입력 및 데이터 개인 정보 보호 (Input and data privacy in background apps)- 실행 중 앱이 마이크나 카메라에 액세스 할 수 없음, 권한 확인시 접근 가능 (your app cannot access the microphone or camera)- 연속 보고 모드를 사용하는 센서(가속도, 자이로)는 이벤트 수신 불가 (Sensors that use the continuous reporting mode, such as accelerometers and gyroscopes, don't receive even..
2018.03.19 -
Android 저장소 옵션(Repository Option)
Android 저장소 옵션(Repository Option)SharedPreferences원시 유형(int, float... 등)의 데이터를 키-값 으로 저장 및 검색 가능, 사용자 세션 동안 지속Internal Storage기기의 내부 저장소에 파일 직접 저장, 내부 저장소에 저장된 파일은 해당 앱의 전용 파일, 앱 제거시 해당 캐시 파일 제거, 캐시 파일 저장 가능, 캐시 파일은 항상 직접 관리 필요External Stroage외부 저장소(SD카드), 누구나 읽기 가능, 배치된 파일을 읽거나 쓰기 가능, 사용자 제거 가능, 액세스 권한 필요(시스템 권한), 미디어 사용 가능성 확인 필요 SQLite Databases앱 내부 클래스에 이름으로 액세스 가능, 정의한 생성자를 사용하여 인스턴스 가져올 수 ..
2018.01.30 -
Android 앱 구성 요소(Component)
Android 앱 구성 요소(Component)Activity사용자 인터페이스 단일 화면 1. Fragments -> Honycomb 이상, 한 화면에 다양한 인터페이스 또는 응용 프로그램 확장 및 구축 2. Activity Life-cycle -> 액티비티의 상태에 따라 동작 메소드가 다름, 동작에 따라 Entire, Visible, Foreground Lifetime으로 구분 (그림 출처 : 안드로이드 공식 홈페이지) 3. Configuration Changes -> 액티비티의 환경 변화에 따라 변경, 런타임 변경시 onDestroy() 호출과Activity 다시 시작, Manifest의 android:configChanges 속성에 따라 수행 (Deep 01) 4. Starting Activitie..
2018.01.29 -
Android Async
Android Async(HandlerThread, AsyncTask, RxAndroid)* 병렬 처리가 가능하지만 스레드가 과도하면 속도를 느리게 할 수 있다.HandlerThread- Looper 보유한 클래스 제공- 내부에 Message Queue 함께 생성- 액티비티의 수명주기를 벗어나 실행되므로 정리 필수- 결과를 메인 스레드에 반환하지 않음AsyncTask- 캡슐화가 잘 되어 있음- 사용시의 가독성 좋음- UI 갱신 및 스케쥴 관리- 메인 쓰레드 에서만 호출 및 실행 필요- 이미 사라진 UI 참고로 메모리닉 발생 가능성 있음- 병렬 메서드(executeOnExecutor)를 사용 안하면 순차적 처리로 진행 RxAndroid- 순차적으로 실행되는 비동기 통신- 연속 클릭 이벤트 중복 실행 제어-..
2018.01.17 -
Android ART & DVM & JVM
Android ART - DVM - JVMART(Android Run Time) - Compile : AOT(Ahead Of Time)- Register Architecture : 모든 피연산자가 메모리 & 레지스터 조합 (레지스터 + 메모리)- java.io, java.net, android.*, com.goolge.*- run : OAT(ART)- GC : Customized Mark-Sweep(CMS) Algorithm(DVM GC 일시정지에 비해 1/2 번 작용)DVM(Dalvik Virtual Machine)- Compile : JIT(Just In Time)- Register Architecture : 모든 피연산자가 메모리 & 레지스터 조합 (레지스터 + 메모리)- java.io, java...
2018.01.12