본문 바로가기
반응형

withTimeoutOrNull4

함수 실행 시간 측정 후 Delay 사용하기 오늘은 함수의 실행시간을 체크하여서, 특정시간을 지나지 않으면, 그 만큼 Delay를 시키는 코드를 정리해 보겠습니다. 이런 코드는 특히 Splash화면 진행중에 하기에 용이한데요. 예를 들어 Splash를 3초정도 보여주고 싶다면, 특정 코드를 실행시키고 3초에서 남은 시간을 측정한 후, 나머지 시간만큼 Delay를 부여해 준다음 화면을 보여주기만 하면 되겠지요. 1. 함수 실행시간 측정하기 함수의 실행시간 측정은 아래와 같이 할 수 있습니다. 먼저 deleteFiles()라는 함수를 실행하였고요. 바로 직전과 실행후의 시간을 측정합니다. 시간 측정은 system.currentTimeMillis 를 활용하였습니다. 아래와 같은 코드를 이용하면, 최대 시간인 maxTimeMillis로부터, 걸린 시간(e.. 2023. 4. 14.
Kotlin Coroutine Flow 총정리 part3 # launchIn 지난 글에 이어서 part3에서는 Coroutine의 Flow에 대해서 정리해 보도록 하겠습니다.지난 part1과 part2는 아래 링크를 참조해주세요.>> Kotlin Coroutine 총정리 part1 # launch, async, Context, Job, CoroutineScope >> Kotlin Coroutine 총정리 part2 # Cancellation, ExceptionHandling 1. Flow1-1. Flow비동기 작업을 하는 Coroutine의 suspend 함수는,일반적으로 하나의 값을 반환(return)하거나 완료 시 종료됩니다.스트림이 아닌 단일 값 처리에 적합하다는 의미이지요. 비동기적으로 데이터를 지속적으로 방출하거나,한 번에 여러 개를 처리하는 데 적합한 API가 있는데요.. 2022. 10. 10.
Kotlin Coroutine 총정리 part1 # launch async Context Job CoroutineScope 오늘은 Kotlin의 Coroutine에 대해서 정리해 보도록 하겠습니다. 1. Coroutine Kotlin에서 네트워크 호출이나 디스크아이오 같은 비동기 코드를 다룰 때 언급되는 것이 Coroutine인데요. 공식문서에서의 Coroutine에 대한 정의를 보면, suspendable한 Computation이라고 나와있습니다. suspend는 중단하다 혹은 유예하다의 뜻 인데요. 필요할 때 마다 suspendable한 단위의 코드들이, suspend 되었다가 다시 깨어나서 resume 하여 과업을 완료한다는 것 입니다. 그리고 Coroutine과 쓰레드는 컨셉적으로는 비슷하지만, 쓰레드는 아닙니다. 한 쓰레드에서 suspend 되었다가, 다른 쓰레드에서 깨어나서 실행될 수 도 있는 좀 더 가볍고 작은 .. 2022. 10. 7.
Kotlin Coroutine에 대한 정리 이제 안드로이드 개발을 하면서, RxJava나 AsyncTask이외에도 다른 Thread로 작업을 할 수 있는 방법이 생겼는데요. 바로 Kotlin의 Coroutine입니다. Coroutine은 RxJava만큼 다양한 Operator를 제공해주지는 않지만, 심플하다는 면에서는 좀 더 좋은면이 있는 것 같습니다. 오늘은 이 Coroutine에 대해서 정리해 보도록 하겠습니다. 1. 라이브러리 implement 가장 먼저 해야할 것은 역시 Library설정인데요. Kotlin의 버전을 최신 버전으로 하구요. 아래와 같이 app레벨의 build.gradle에서 implement해 줍니다. 마치 rxjava와 rxandroid를 같이 implement했듯이, coroutine도 core와 android 라이브러.. 2019. 10. 9.