본문 바로가기

Android19

suspend 함수란 무엇인가요? 🚀 글 읽는 순서 🚀 코루틴은 왜 빠른 걸까요? -> suspend 함수란 무엇인가요? (현재) 1. 요약 2. await 2-1. 개념 2-2. 코루틴 내부에서 실행되는 await 2-3. suspend 내부에서 실행되는 await 3. Suspend 3-1. 개념 3-2. 내부 코드 4. 정리 1. 요약 🧑‍💻: suspend 함수란 무엇인가요? 👨🏻‍🦱: suspend 함수는 일시 중단 가능한 함수이며 코루틴 내부 혹은 suspend 함수 내부에서 사용해야 합니다. suspend의 내부 코드는 콜백 함수 형태를 띄고 있습니다. 2. await 2-1. 개념 이전 글 "코루틴은 왜 빠른 걸까요?"에서 코루틴에 대해 알아보았다. 코루틴은 스레드 안에서 더 잘게 나눠지는 작업 단위라고 표현했었다. 그렇기.. 2022. 8. 29.
코루틴은 왜 빠른 걸까요? 1. 요약 2. Thread 2-1. 스레드를 사용하는 이유 2-2. 스레드의 문제점 3. Coroutine 3-1. 코루틴의 동작 방식 3-2. 코루틴과 스레드의 비교 1. 요약 🧑‍💻: 코루틴이 빠르다, 가볍다라고들 하는데 그 이유가 무엇일까요? 👨🏻‍🦱: 코루틴은 동시성 프로그래밍이며 작업마다 스레드를 생성해서 사용하는 것이 아니라 스레드 안에서 루틴을 만들고 교환하여 자원 낭비가 덜 하기 때문입니다. 2. Thread 2-1. 스레드를 사용하는 이유 코루틴이 빠른 이유를 알아보기 전에 우선 코루틴을 사용하지 않고 스레드를 사용하는 상황을 알아보자. 안드로이드에는 메인 스레드라는 놈이 있다. (만약 스레드가 무엇인지 잘 모른다면 일꾼 정도로 생각하면 된다. 어떠한 작업을 하는 일꾼) 메인 스레드는 .. 2022. 8. 27.
Activity Intent Flag에 대해서 설명해 보세요 1. 요약 2. Task 2-1. 개념 2-2. Task 제어의 필요성 3. AndroidManifest에서의 제어 4. 소스 코드로 제어 5. 추가로 나올 수 있는 질문 5-1. 기존의 activity를 재사용하는 경우, 처음 진입하는 상황인지 다시 진입하는 상황인지 어떻게 구분하죠? 1. 요약 🧑‍💻: Activity Intent Flag에 대해 설명해 보세요. 👨🏻‍🦱: Activity의 중복 문제나 흐름을 제어하고 싶을 때 Intent Flag를 사용합니다. AndroidManifest에서 액티비티 태그 안에 flag를 설정하거나 소스 코드에서 intent에 addflag를 사용하여 제어할 수 있습니다. +) 좀 더 구체적인 상황을 주고 사용해야 할 flag를 물어보기도 하고 flag 몇 개 예시.. 2022. 7. 8.
lateinit과 by lazy의 차이가 무엇인가요? 1. 요약 2. 늦은 초기화란? 3. lateinit 4. by lazy 5. 정리 6. 추가로 나올 수 있는 질문 6-1. lateinit을 초기화하기 전 까지는 변수에 무슨 값이 들어있을까요? 6-2. 초기화를 하지 않고 실행하면 어떻게 될까요? 6-3. 왜 lateinit은 Primitive Type과 사용할 수 없을까요? 1. 요약 lateinit과 by lazy를 아시나요? 둘의 차이는 무엇인가요? lateinit과 by lazy는 늦은 초기화를 할 때 사용합니다. 다만 lateinit은 var로 선언해야 하며 언제든 값을 수정할 수 있지만 by lazy는 val로 선언해야 하므로 한 번 초기화를 하면 값을 변경할 수 없습니다. 또, 초기화 시점에 차이가 있습니다. lateinit은 선언 이후 .. 2022. 6. 22.
#7 일부 기기에서 사진이 저장되지 않는 문제와 권한 설정 1. 증상 2. 미디어 스캐닝 2-1. 라떼는 말이야... 2-2. 킷캣 이전의 방법 2-3. 킷캣 이후의 방법 3. 권한 설정 3-1. 권한을 허용하지 않았는데... 3-2. 권한 요청 및 거부 2021/12/13 개발 내용 1. 증상 내가 가지고 있는 스마트폰과 태블릿에서는 앱에서 저장한 사진이 갤러리에도 들어가고 파일 탐색기에서도 보이는데 팀원의 스마트폰과 여분 스마트폰에서는 갤러리에도 저장이 안되고 파일 탐색기에서도 보이지 않는 문제가 발생했다. 똑같은 코드인데 다른 결과가 나와서 굉장히 당황스러웠다. 결과부터 말하자면 굉장히 어이없는 실수를 해서 생긴 일이였는데 그 과정에서 배운 것들이 있어 기록을 남겨두려고 한다. 2. 미디어 스캐닝 2-1. 라떼는 말이야... 내가 스마트폰을 처음 사용했던 .. 2021. 12. 14.