일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- http발전과정
- AsyncListDiffer
- 상태관리
- DiffUtil
- 안드로이드
- recyclerview
- 디자인 패턴
- Android
- viewModelScope
- 데코레이터 패턴
- 프로세스
- flutter
- 물리 메모리
- Kotlin
- http 역사
- 운영체제
- NestedScrollView
- GetX
- 리사이클러뷰풀
- appcompatacitivity
- 리사이클러뷰
- 내부 단편화
- Dispatchers
- AAC
- 뷰홀더
- apk 빌드 과정
- appcompatactivity
- 절대 주소
- 플로이드워셜
- 자이고트
- Today
- Total
목록안드로이드 (4)
hong's android

ViewModel ViewModel 클래스는 비즈니스 로직 또는 화면 상태 홀더이다. 기존의 문제점들과 사용하는 이유 단순한 적은 데이터들은 Activity의 onSavedState() 메소드를 통해 번들 형태로 저장할 수 있다. 하지만 더 큰 데이터들은 해당 방법이 부적합하다. 또 뷰에서 비동기 호출을 하게 되면 액티비티의 생명주기에 따라 리소스가 낭비되는 경우가 있다. ViewModel의 이점 UI 상태를 유지할 수 있습니다. 비즈니스 로직에 대한 액세스 권한을 제공합니다. ViewModel의 생명주기 ViewModel의 생명주기는 Activity의 생명주기보다 길다. ViewModelStoreOwner의 생명주기를 따른다. 그렇기 때문에 액티비티 화면이 회전되어도 ViewModel의 데이터는 유지된..
Databinding 라이브러리이란? 프로그래밍 방식이 아니라 선언적 형식으로 레이아웃의 UI 구성요소를 앱의 데이터 소스와 결합할 수 있는 지원 라이브러리입니다. 기존에 findViewById()를 사용하면 Null 포인트 오류의 위험이 있다. Databinding은 UI 프레임워크 호출을 삭제할 수 있어 파일이 더욱 단순화되고 유지관리 또한 쉬워진다. 하지만 클래스 파일이 많이 생기고, 빌드 속도가 느려지는 등 단점들도 존재한다 Mvvm 디자인 패턴에서 AAC LiveData와 함께 사용해서 뷰와 뷰모델 간의 의존성을 낮출수 있다. 만악 example.xml을 작성하고 빌드하면 자동으로 관련 binding 클래스가 생긴다. xml에 data 태그를 정의하면 아래와 같이 binding 클래스에 sett..

리스트뷰와 리사이클러뷰 차이점 둘 다 뷰 재활용을 할 수 있지만 리스트 뷰는 뷰 홀더 패턴을 따로 적용해야 합니다. - 리사이클러뷰는 뷰홀더 패턴으로 재활용을 강제합니다. 리스트뷰는 애니메이션 지원이 되지 않는다. 리사이클러뷰는 를이용해서 수직 스크롤 이외에도 수평 스크롤 지원, 다양한 형태의 리스트들 지원한다. 리사이클러뷰의 뷰홀더 생성과 재사용 1. 스크롤을 내리면 RecyclerView는 스크롤 알림을 Layout Manager에게 보냅니다. 2. Layout Manager는 몇 번째 위치에 새로운 itemview가 배치되어야 하는지를 계산하고 해당 위치를 다시 RecyclerView에게 보냅니다. 3. RecyclerView는 캐시에서 해당위치를 가진 아이템 뷰를 가져오는데 만약 캐시에 해당 아이..
자이고트란? 자이고트는 안드로이드에서 가상 머신을 실행할때 준비된 자이고트 프로세스를 대기시켜놓고 실행시키는 것이다. 실행에 준비된 자이고트 프로세스를 복제해서 앱을 실행시키므로 앱 실행속도가 빨라진다. 자이고트 프로세스는 Init 프로세스에 의해서 deamons 프로세스와 함께 실행이 되는데 실행된 후 준비된 가상머신, preloading 되어있던 클래스들, 리소스들을 앱을 실행할때 불러오고 초기화시키지 않아도 되는 덕분에 앱 실행속도가 빨라진다. 각 안드로이드 애플리케이션은 독립적인 가상 머신 위에서 동작하는데, 자이고트가 없다면 어플을 실행할때마다 안드로이드 가상머신은 필요한 클래스, 리소스들을 생성해야하고 초기화해줘야한다. 앱을 실행할때 자이고트라는 프로세스를 복제하는데 자이고트가 참조하고 있는 ..