316일차 - 안드로이드 개발 팁 & 코루틴 정리

2021. 11. 10. 02:31·아카이브/일기
반응형

< 안드로이드 개발 팁 >

1. 안드로이드 브로드캐스트리시브는 스타트액티비티를 못하게되어있다.

2. 실제 상용화에서는
notification만 사용하면 안된다.
data도 사용한다.
( 묵시적 인텐트 사용 )

3. 묵시적 인텐트
이거는 api 통신할 때 많이 쓰일 것으로 보인다.
또한 Push에서도 겁나 쓰인다.
특정 Data를 받을 때,
맨 앞의 형태에 따라서 인텐트를 전환시킬 수 있다.
인텐트에는 앱 내부의 인텐트도 있지만
웹, 전화, 지도 등등 다양한 외부 인텐트로도 이동시킬 수 있다.
이를 통해 Push를 통해 들어온 값에 따라
특정 인텐트로 사용자를 보내버릴 수 있다.
즉, 메뉴처럼 인텐트를 전환시키고 싶을 때 사용한다.

4. 일반적인 FCM은 백그라운드에 있는 경우에만 작동한다. 포그라운드에 있는 경우 FirebaseMessagingService 확장을 구현해야 한다. onMessageReceived 메소드에서 click_action 타겟으로 수동으로 이동해야 한다.

5. 데이터는 최대한 프레그먼트에 넣어주면안된다.

6. ui가 선두. 우선되어야한다.

7. 라이브데이터의 value, postvalue 차이점 검색해보기


< 코루틴 정리 >

1. use사용해서 자동 클로즈. 저 함수는 계속 쓰레드를 생성하기에 종료제어필요함.

2. withcontext를 통해 쓰레드 스위치가 가능함. 직접 해봐야 알 수 있을듯

3. 하나의 코루틴에서 쓰레드 전환. 즉 메인쓰레드 코루틴에서 3개의 쓰레드를 스위치하여 사용.

4. 부모 코루틴을 중지하면 자식 코루틴도 중지가된다. 부모 코루틴은 자식 코루틴이 실행완료될때까지 기다린다.

5. 코루틴이 여러개가 실행중일때 사용자가 화면을 나가면 모두 종료해줘야한다. 안그러면 메모리 릭이걸린다.

6. 이를 해결하기 위해서 코루틴스코프에다가 모든 코루틴을 담아서 실행하고. 사용자가 나갈때는 이 코루틴스코프를 중지한다.

7. 디스패쳐 Default는 글로벌스코프 처럼 쓰레드가 생성된다.

8. 그냥 lauch만 사용하면 부모 쓰레드를 상속받아 실행된다. 즉 메인쓰레드에서 사용하면 메인쓰레드에서 동작한다.

9. single어쩌구저쩌구 쓰레드는 매번 새로운 쓰레드를 만들어내기에 종료를 해줘야하는것이고

10. runblocking은 자식 코루틴이 모두 실행완료될때까지 기다려주고. 부모 쓰레드를 상속받는 것으로 보인다. 일단 메인쓰레드에서 동작하는 것만 확인한 상태이다.


반응형

'아카이브 > 일기' 카테고리의 다른 글

320일차 - 코틀린 Xml Style & Custom Widget  (0) 2021.11.14
319일차 - RxJava & RxKotlin & Retrofit2  (0) 2021.11.13
318일차 - MBTI 앱 레거시 코드 개편  (0) 2021.11.12
317일차 - DiffUtil  (0) 2021.11.11
315일차 - Firebase 호스팅 & 음성 인식 (TTS, STT)  (0) 2021.11.09
314일차 - React & Fcm Push 웹페이지 완성  (0) 2021.11.08
Kotlin - Room을 활용한 채팅 디자인해보기  (0) 2021.11.07
313일차 - React & Android Push  (0) 2021.11.07
'아카이브/일기' 카테고리의 다른 글
  • 318일차 - MBTI 앱 레거시 코드 개편
  • 317일차 - DiffUtil
  • 315일차 - Firebase 호스팅 & 음성 인식 (TTS, STT)
  • 314일차 - React & Fcm Push 웹페이지 완성
권퓨터
권퓨터
만드는 걸 좋아하는 개발자의 기록. 코드든 글이든, 일단 만들어 봅니다.
  • 권퓨터
    권퓨터: Kwonputer
    권퓨터
  • 티스토리 홈 관리자
  • 전체
    오늘
    어제
    • 분류 전체보기 (559)
      • 개발 (56)
        • 프로젝트 (5)
        • 모바일 (44)
        • 프론트엔드 (0)
        • 백엔드 (2)
        • 인프라 (0)
        • AI · 머신러닝 (4)
      • IT · 테크 (10)
        • 기술 트렌드 (3)
        • 도구 · 생산성 (1)
        • 제품 리뷰 · 추천 (0)
        • 마케팅 · 수익화 (6)
      • 자기계발 (7)
        • 공부법 · 언어 (0)
        • 취업 · 커리어 (7)
      • 아카이브 (486)
        • 일기 (480)
        • 취미 (6)
  • 블로그 메뉴

    • 홈
  • 링크

    • 블로그 이전
  • 공지사항

    • 서브 블로그 => https://kwonputer.com/
  • 인기 글

  • 태그

    https://www.kwonputer.shop/
    flutter 면접 질문
    OpenAI GPT
    서버리스 아키텍처
    flutter 개발자
    FACEBOOK광고
    dynamodb
    AI블로그
    injectable
    다국어 블로그
    ai 게임 개발
    Clean Architecture
    riverpod
    AWS CDK
    python
    python 기초
    파이썬
    블로그수익화
    TypeScript
    Prompt Engineering
    flutter
    상태관리
    next.js
    kotlin
    내러티브 게임
    클린 아키텍처
    Single Table Design
    https://github.com/kwongeneral/kortfolio.git
    aws lambda
    콘텐츠자동화
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
권퓨터
316일차 - 안드로이드 개발 팁 & 코루틴 정리
상단으로

티스토리툴바