본문 바로가기

IT/Android

9/27 read post

728x90
반응형

1.

출처 : https://proandroiddev.com/from-rxjava-to-kotlin-flow-throttling-ed1778847619

제목 : From RxJava to Kotlin Flow: Throttling

요약 : 더블 클릭을 제어하기 위한 쓰로틀링 방식을 구현하는 rxJava 와 Flow 를 비교합니다. 디바운스를 처리하기 위한 rxJava의 연산자 debounce 와 flow 의 debounce가 매핑되고, rxJava 의 throttleLast 와 sample 이 기능이 같습니다. throttleFirst는 rxJava 만 있고 flow 는 구현해야 합니다. throttleLatest 도 flow 는 구현해야 합니다.

 

2.

출처 : Time picker and custom entries in Preference Fragment made simple 🕒

제목 : Time picker and custom entries in Preference Fragment made simple 🕒

요약 : preference 를 상속받아 customPreference 를 만들어서 TimePicker layout 을 구현하는 방법을 코드로 설명합니다. preference 를 상속받아서 onBindViewHolder 를 override 하여 구현합니다.

 

3.

출처 : DayNight — Adding a dark theme to your app

제목 : DayNight — Adding a dark theme to your app

요약 : 다크 테마를 적용하기 위한 AppCompatDelegate.setDefaultNightMode api 를 설명합니다. setLocalNightMode api 가 있는데 일부 구성요소만 다크 테마를 적용하는 api 입니다.(호출한 구성요소만으로 추정). 현재 다크 테마 확인은 getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK 로 할 수 있습니다.

 

4.

출처 : Some Common Mistakes When Doing Layout in Android.

제목 : Some common mistakes when doing layout in Android.

요약 : ConstraintLayout 으로 중첩된 layout 을 사용하지 말라고 권장하고, 또한 ConstraintLayout 을 FrameLayout 이나 LinearLayout 으로 대체할 수 있다면 대체하라고 권장합니다. 성능이 훨씬 떨어지기 때문입니다. 그리고 layout 은 반드시 ViewGroup 으로 시작할 필요가 없습니다. 레이아웃을 가능한한 작게 유지하려면 <merge> 를 사용하라고 설명합니다. 그리고 확장 가능한 코드를 고려하라고 권장합니다.

선정 : layout 에 대해 전반적으로 좋은 내용이라 선정합니다.

 

5.

출처 : The merge tag, my custom view savior (Improve your custom layout performance on Android)

제목 : The merge tag, my custom view savior (Improve your custom layout performance on Android)

요약 : ConstraintLayout 이 중첩되면서 성능 이슈가 발생했고 이를 해결하기 위해 merge 태그를 사용하는 방법을 설명합니다. tools:parentTag 를 포함하는 것을 잊지말라고 설명합니다.

 

6.

출처 : Android New Logcat: Top 5 features

제목 : New Android Logcat: Top 5 features

요약 : 돌핀에서 변경된 로그캣의 5가지 기능에 대해서 설명합니다. 형식에 대한 색상이 자동으로 추가되었고, 앱 크래쉬 로그를 찾기 위한 process ended , process started 로그가 나옵니다. 새로운 쿼리 시스템으로 기본 쿼리 필드에서 바로 키 값 검색이 가능하고, 로그 뷰를 분할하여 비교가 가능합니다. 그리고 사용자 지정 뷰 설정으로 하여 전환이 가능합니다.

 

7.

출처 : Fullscreen Bottom Sheet

제목 : Full Screen Bottom Sheet

요약 : bottomSheetDialog 와 BottomSheetBehavior 를 사용하여 하단으로부터 올라오고 슬라이드를 위로 올리면 전체 화면 역할을 하는 bottomSheetDialog 코드를 설명합니다.

 

8.

출처 : How to know when you’re using dark mode programmatically

제목 : How to know when you’re using dark mode programmatically

요약 : 다크모드를 프로그래밍 코드에서 확인하는 방법을 설명합니다. resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK 로 확인할 수 있습니다.

 

9.

출처 : Understanding Android Runtime and Dalvik

제목 : Understanding Android Runtime and Dalvik

요약 : JVM 은 Java 바이트 코드를 기계 코드로 변환합니다. DVM은 Java 또는 코틀린 컴파일러에서 생성된 Java 바이트 코드를 Dalvik 바이트 코드로 변환된 코드를 기계 코드로 변환합니다. JIT 은 앱 실행 중 런타임에 필요한 부분만 컴파일합니다. ART 는 앱 실행 전에 컴파일 합니다. core profile 은 api 28 부터 도립되었으며 자주 사용하는 코드 부분에 대한 데이터가 이 앱의 기존 사용자로부터 수집됩니다.

 

10.

출처 : Android — UI Layer, UI Event

제목 : Android — UI Layer, UI Event

요약 : UI Event 가 어디서 발생되는지 그 흐름에 따른 동작과 state 가 어떻게 흘러가는지에 대해서 설명합니다. UI Event 는 UI layer 또는 viewModel 에서 발생하고 이 흐름은 단방향으로 흐른다고 설명합니다. Anti Pattern 에서 설명하는 주요점은 UI 가 백그라운드에 있을 때 수집이 중단되면 손실로 이어지니 주의하고, UI 의 상태를 변경하고 UI 에 알리고, UI 는 반영하는 형태를 권고합니다. 그리고 일회성 이벤트를 즉시 처리하지 않으면 문제가 생긴다고 주의하라고 설명합니다.

 

소요시간 : 2시간 30분

728x90
반응형