| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- appcompatacitivity
- 리사이클러뷰풀
- http발전과정
- 상태관리
- 뷰홀더
- DiffUtil
- 데코레이터 패턴
- flutter
- http 역사
- recyclerview
- 절대 주소
- 내부 단편화
- appcompatactivity
- 운영체제
- AAC
- 디자인 패턴
- 프로세스
- Dispatchers
- GetX
- Android
- Kotlin
- 안드로이드
- 플로이드워셜
- NestedScrollView
- AsyncListDiffer
- 자이고트
- 리사이클러뷰
- 물리 메모리
- viewModelScope
- apk 빌드 과정
- Today
- Total
목록2023/01/16 (4)
hong's android
뷰는 어떻게 그려질까? 액티비티는 focus를 받으면 레이아웃을 그리도록 요청한다. 그러면 view tree의 루트노드부터 순회하면서 차례대로 뷰를 그리게 된다.(Android 프레임워크는 레이아웃 그릴 수 있게 하지만 액티비티에서 따로 Root node를 제공해줘야 한다.) view는 자체적으로 생명주기를 가지고 있고 뷰 그룹이 하위 요소들을 그리도록 요청한다. 측정단계와 레이아웃단계를 통해 그려진다. 1.Measure 뷰의 크기를 측정한다. 실제 뷰의 크기를 측정하기 위해 onMeasure()를 호출한다. 부모 뷰와 자식 뷰 간의 크기를 측정하기 위해 아래 클래스들을 사용한다. A. ViewGrop.LayoutParams 자식뷰가 부모뷰에게 자신이 어떻게 측정되는지 요청할때 해당 클래스 사용. B.V..
리플렉션이란? 동적으로 클래스의 정보를 분석하거나, 클래스의 메소드를 호출 할 수 있게해주는 api 리플렉션 단점 1.컴파일 최적화를 하지 못한다. 리플렉션을 실행하는 부분은 미리 실행 내용에 대한 정보를 알지 못하므로 jvm은 컴파일 타임에 최적화 하지 못한다. JIT Compiler의 Bytecode Caching, Opcode Optimization.. 등 초기 호출 이후로는 캐싱을 통해서 Reflection API를 통한 메서드 호출도 최적화된다는 것을 의미한다. 2.정적으로 타입 검사를 하지 못한다. 정적을 타입 검사를 하지 못하므로 런타임에 타입 오류가 날 수 있다. 3.캡슐화 저해 접근 제한자에 상관없이 리플렉션은 접근 할 수 있다. 그럼에도 불구하고 왜 필요한가? 컴파일 타임에는 알 수 없..
2장에서 다루는 내용- 함수. 변수. 클래스. enum, 프로퍼티를 선언하는 방법 제어 구조- 스마트 캐스트- 예외 던지기와 예외 잡기 조건문조건문은 문이 아니라 식이다. 그렇기 때문에 리턴값이 존재하고 몇몇 경우에 간결하게 코드를 작성할 수 있다.fun eval (e: Expr): Int = if (e is Num) { e.value } else if (e is Sum》 { eval(e.right》 + eval(e.left) } else { throw IllegalArgumentException (" Unknown expression’’ )}(식이 본문인 경우에 타입추론이 있기 때문에 리턴값을 생략 할 수 있다. 하지만 식이 본문이 아닌 경우 반환 타입과..
1장에서 다루는 내용 -코틀린 기본 기능 데모 -코틀린 언어의 주요 특성 -코틀린을 활용한 안드로이드와 서버 개발 -코틀린이 다른 언어보다 더 나은 점 -코틀린으로 코드를 작성하고 실행하는 방법 정적 타입 지정 언어 동적 타입 지정 언어와 달리 메서드와 필드에 대한 검증이 컴파일 타임에 일어난다. 정적 타입 지정 언어는 컴파일 타임에 검증이 일어나 여러 장점들이 존재한다. 1. 런타임에 호출할 메서드 검증을 안 해도 되므로 빠르다. 2. 안정적이다. 컴파일 타임에 오류를 검출해서 런타임에 정지될 확률이 낮아진다. 3. 타입을 명시하기 때문에 코드 이해가 빠르다. 4.ide 도구를 이용해서 리팩토링을 안전하게 할 수 있다. 하지만 타입 명시를 해주어야 하기 때문에 코드가 길어진다. 코틀린은 타입 추론을 사..