| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 절대 주소
- Kotlin
- 프로세스
- appcompatacitivity
- apk 빌드 과정
- viewModelScope
- 플로이드워셜
- 내부 단편화
- DiffUtil
- AsyncListDiffer
- 자이고트
- 데코레이터 패턴
- http발전과정
- 리사이클러뷰
- GetX
- 안드로이드
- 상태관리
- http 역사
- appcompatactivity
- 뷰홀더
- flutter
- 리사이클러뷰풀
- 물리 메모리
- Dispatchers
- recyclerview
- AAC
- 운영체제
- NestedScrollView
- Android
- 디자인 패턴
- Today
- Total
목록2023/02/21 (3)
hong's android
기존 notifyDataChanged()의 단점리사이클러뷰를 사용할 때 아이템 뷰의 데이터가 변경되어서 업데이트를 해야 하는 경우 notifyDataChanged() 함수를 통해 리사이클러뷰에게 알리게 된다.notifyDataChanged() 함수는 업데이트를 할 때 모든 아이템 뷰의 데이터들을 업데이트를 하기 때문에 적은 개수의 아이템을 업데이트하는 경우 비효율적이다. DiffutilDiffutil은 olditems와 newitems의 차이를 계산해서 업데이트해야 하는 아이템들만 변경하게 된다.추상 클래스인 DiffUtil.Callback을 사용해서 구현을 하게 된다.4가지의 추상 메서드와 1가지의 비 추상 메서드를 가지고 있다. getOldListSize() : 바뀌기 전 리스트의 크기를 반환합니다...
상속과 위임 언제 사용해야 할까? 상속은 “is-a” 와 같이 포함 관계가 있는 다른 클래스로 대체가 되는 경우 위임은 포함관계는 아니지만 다른 클래스 객체를 사용해야하는 경우, 구성의 관계 “has-a” 상속에서의 문제점 class Animal { /* public void run() { System.out.println("달려달려~"); } */ // 메서드 이름을 run에서 dash로 바꿨다. public void dash() { System.out.println("달려달려~"); } } class Dog extends Animal { } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.run(..
Lru Cache(Least Recently Used Cache) 란? 가장 오랫동안 참조되지 않은 값(노드)을 삭제하고 비교적 최근에 참조된 값(노드)들을 저장하는 캐시 방식 Double Linked List를 기본적으로 사용한다. Head에 가까운 노드일수록 최근에 참조된 노드, tail에 가까울수록 참조가 오랫동안 되지 않은 노드이다. 만약 정해진 cache size가 초과된 상황에서 노드(값)를 추가할 때 tail에 가장 가까운 노드가 삭제되고, 새로운 참조 노드가 head에 가깝게 추가된다. 안드로이드에선 Lru Cache방식을 사용하기 위한 관련 클래스를 제공한다. 캐시 크기 설정시 주의점 모든 애플리케이션에 적합한 특정 크기나 수식은 없으며 사용량을 분석하여 적합한 해결책을 찾아야 합니다. ..