Upgrade to Pro — share decks privately, control downloads, hide ads and more …

성능분석 어떻게 시작할까?

Avatar for ds.choi ds.choi
September 30, 2021

성능분석 어떻게 시작할까?

startup 성능을 측정하는 방법에 대해서 다룹니다.

Avatar for ds.choi

ds.choi

September 30, 2021

Other Decks in Programming

Transcript

  1. ࢿמ࠙ࢳ Cycle ѐࢶ ࠙ࢳ х૑ ஏ੿ $VTUPNDPEF #FODINBSLUPPM  1MBZ$POTPMF

    'JSFCBTF  ૒੽ࢎਊ  4ZTUSBDF  "OESPJE4UVEJP1SPGJMFS  1FSGFUUP
  2. App Startup Application Process Displaying a blank starting window Creating

    App Object Application.onCreate() Activity init Activity.onCreate <other stuff> FirstFrameDrawn https://developer.android.com/topic/performance/vitals/launch-time
  3. App Startup • Cold Start • ࢓ই੓ח জ ೐۽ࣁझо হח

    ࢚కীࢲ ୊਺ জਸ द੘ • Hot Start • ੉޷ ݫݽܻ ࢚ী জ੉ ઓ੤ೞৈ activity ݅ foreground ۽ ֢୹ • Warm Start • ӝઓ प೯غ঻؍ ೐۽ࣁझী ੄೧ ੌࠗ ੿ࠁо ੷੢غয ੓ח ࢚కীࢲ জਸ द੘
  4. Startup Time ஏ੿ • ActivityTaskManager : Displayed • ୐ߣ૩ frame

    ੉ Ӓ۰૓ दр • Activity.reportFullyDrawn • ழझథ ࢸ੿
  5. Startup Time ஏ੿ • Firebase Performance - trace - _app_start

    • ContentProvider.onCreate - Activity.onResume ө૑੄ दр
  6. Startup Time ஏ੿ • Custom ஏ੿ • ࣁ࠙ചػ ҳрীࢲ ੿ഛೠ

    ஏ੿੉ ਃҳغח ҃਋ • Cold / Warm / Hot Start ী ؀ೠ ҳ࠙੉ ೙ਃ • ஏ੿ೞҊ੗ ೞח ҳрী ؀ೠ ੉೧ ೙ਃ
  7. Startup ஏ੿ Component Load Application onCreate Activity onCreate Activity onResume

    FirstDraw BindApplication Application.onCreateStart Application.onCreateEnd Activity.onCreateEnd Activity.onResumeEnd First Drawn
  8. Startup ࠙ࢳ • Sample Java Methods • Java-based code ௒झఖਸ

    ஭୛ • Trace Java Methods • Java ݫࢲ٘ प೯ਸ ୶੸ • Sample C/C++ Functions • Java, C ௒झఖਸ ஭୛ • Trace System Calls • दझమܻࣗझ৬ ࢎਊ੘ਊਸ ୶੸ • AndroidProfiler