TIL45 ✨

YaR LabΒ·2023λ…„ 6μ›” 23일
0

TIL✨

λͺ©λ‘ 보기
33/136
post-thumbnail

πŸ—“οΈ23.06.23

heap

dfs

App Life Cycle

μ•±μ˜ μ‚¬μš© κ³Όμ • 쀑 κ°€μ§€λŠ” μƒνƒœ κ°’

  1. Non-running(Terminated)
    : 아직 μ‹€ν–‰λ˜μ§€ μ•Šμ•˜κ±°λ‚˜, μ™„μ „νžˆ μ’…λ£Œλœ μƒνƒœ
  2. Inactive(Foreground)
    : 앱이 Foregroundμ—μ„œ μ‹€ν–‰ μ€‘μ΄μ§€λ§Œ μ΄λ²€νŠΈλŠ” 받지 λͺ»ν•˜λŠ” μƒνƒœ. Active μƒνƒœλ‘œ λ„˜μ–΄κ°€κΈ° 전에 앱은 λ°˜λ“œμ‹œ 이 μƒνƒœλ₯Ό κ±°μΉ¨
  3. Active(Foreground)
    : 앱이 μ‹€ν–‰ 쀑이고 이벀트λ₯Ό 받을 수 μžˆλŠ” μƒνƒœ.
  4. Background
    : μ•± μ‚¬μš©μ€‘μ— λ‹€λ₯Έ 앱을 μ‹€ν–‰ν•˜κ±°λ‚˜ ν™ˆ ν™”λ©΄μœΌλ‘œ λ‚˜κ°”μ„ λ•Œ μƒνƒœ. λ°±κ·ΈλΌμš΄λ“œμ—μ„œ λ™μž‘ν•˜λŠ” μ½”λ“œλ₯Ό μΆ”κ°€ν•˜λ©΄ suspended μƒνƒœλ‘œ λ„˜μ–΄κ°€μ§€ μ•Šκ³  λ°±κ·ΈλΌμš΄λ“œ μƒνƒœλ₯Ό μœ μ§€ (ex. μŒμ•…μ„ μ‹€ν–‰ν•˜κ³  ν™ˆ ν™”λ©΄μœΌλ‘œ λ‚˜κ°€λ„ μŒμ•…μ΄ λ‚˜μ˜€λŠ” μƒνƒœ)
  5. Suspended
    : 앱이 background μƒνƒœμ—μ„œ 좔가적인 μž‘μ—…μ„ ν•˜μ§€ μ•ŠμœΌλ©΄ κ³§λ°”λ‘œ suspended μƒνƒœλ‘œ μ§„μž…. μ‹œμŠ€ν…œμ— μ˜ν•΄ μžλ™μœΌλ‘œ suspended μƒνƒœλ‘œ 되기 λ•Œλ¬Έμ—, μƒνƒœ 이동에 λŒ€ν•œ μ•Œλ¦Όμ„ λ”°λ‘œ 받지 μ•ŠμŒ. μ½”λ“œλŠ” μ‹€ν–‰λ˜μ§€ μ•ŠμœΌλ©° 앱을 λ‹€μ‹œ μ‹€ν–‰ν•  경우 λΉ λ₯Έ 싀행을 μœ„ν•΄ λ©”λͺ¨λ¦¬μ—λ§Œ μ˜¬λΌκ°€ 있음. λ©”λͺ¨λ¦¬κ°€ λΆ€μ‘±ν•œ 상황이 되면 iOSλŠ” suspended μƒνƒœμ— μžˆλŠ” 앱듀을 λ©”λͺ¨λ¦¬μ—μ„œ ν•΄μ œμ‹œμΌœμ„œ λ©”λͺ¨λ¦¬λ₯Ό 확보

μ•±μ˜ μƒνƒœκ°€ λ³€κ²½λ˜λ©΄ UIKitλŠ” μ μ ˆν•œ delegate object의 methodλ₯Ό ν˜ΈμΆœν•΄μ„œ μš°λ¦¬μ—κ²Œ μ•Œλ €μ£ΌλŠ”λ°, iOS 13 μ΄μƒμ—μ„œλŠ” UISceneDelegate 을 μ‚¬μš©ν•˜μ—¬ scene 기반 μ•±μ˜ life cycle event에 μ‘λ‹΅ν•˜κ³ , iOS 12 이전 λ²„μ „μ—μ„œλŠ” UIApplicationDelegate 을 μ‚¬μš©ν•˜μ—¬ life cycle event 에 μ‘λ‹΅ν•©λ‹ˆλ‹€.

UIApplicationDelegate(iOS 12 μ΄ν•˜)

AppDelegate 의 μƒνƒœ λ³€ν™” λ©”μ„œλ“œ

UIApplication

λͺ¨λ“  iOS 앱은 UIApplication의 μΈμŠ€ν„΄μŠ€(λ˜λŠ” 맀우 λ“œλ¬Όκ²Œ UIApplication의 ν•˜μœ„ 클래슀)λ₯Ό μ •ν™•νžˆ ν•˜λ‚˜μ”© κ°–μŠ΅λ‹ˆλ‹€.

0개의 λŒ“κΈ€