목록안드로이드(Android) (70)
Simple&Natural
구글에서 찾아보면 대부분 소스코드 상에서 동적으로 변경하는 자료들이 많이 나온다. xml 상에서 적용하는 코드를 원했는데 대표적으로 나오는 솔루션들이 잘 먹히지가 않아서 이것저것 바꾸어보며 동작 조건을 알아보았다. 액티비티나 프래그먼트 상의 소스코드는 별로 다를 게 없고 xml을 조건에 맞게 작성하는 것이 중요하다. - 무슨 이유인지는 모르겠으나 ListView는 Hide가 동작하지 않으니 유의해야 한다. - 최상위 레이아웃은 반드시 CoordinatorLayout으로 선언해주어야 한다.
[문제] 공식문서에 의하면 IO Dispatcher가 사용하는 스레드 풀의 최대 스레드 갯수는 64개를 넘지 않는다. 하지만 내 노트북에서 실험한 결과 간혹 스레드 번호가 64를 초과하여 찍힐 때가 있었다. 같은 코드를 kotlin.org에서 제공하는 PlayGround 에서 찍어보면 또 전혀 문제가 없다. 혹시 기존의 64개 스레드가 모두 점유되고 있으면 추가로 스레드를 더 생성하는 건지 궁금하여 자료를 찾아보아도 딱히 관련된 내용이 없었고 공식 Github에 이슈를 체크해도 딱히 답변이 없는 상황. repeat(500) { CoroutineScope(Dispatchers.IO).launch { println(Thread.currentThread().name) } } ... DefaultDispatch..
material.io/components/bottom-navigation#usage Material Design Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences. material.io
Dispatcher Dispatcher는 코루틴을 특정 스레드에서 실행할 수 있도록 도와주는 기능이다. 코루틴에서는 디스패처를 이용하여 다양하게 스코프를 지정할 수 있다. Rx류의 라이브러리에서 쓰이는 스케쥴러가 유사한 기능을 한다. 특히 비동기 백그라운드 작업을 수행할 때 가장 많이 쓰이는 것이 IO 와 Default Dispatcher이다. Coroutine을 처음 접하면 이 두 디스패처 중 어떤 것을 써야 하는지 헷갈릴 수 있다. 정확히 이 두 디스패처의 차이가 무엇인지 알아보자. Dispatchers.Default 다음은 Default Dispatcher에 대한 공식 설명이다. * The default [CoroutineDispatcher] that is used by all standard bu..