App Lifecycles

항상 60fps을 유지해야할까? 그럴필요없다. 필요할때만 사용하는게 퍼포먼스에 더 좋을것다.

RAIL(LIAR)

응답(respone), 애니메이션(animation), 휴식?게으른..?(idle), 로드(load)

  • Response(100ms) : 사용자와의 상호작용을 응답하는시간. 최대한 즉시 실행되야하며 0.1초를 넘겨서는 안된다.
  • Animation(16ms) : 60fps 부드럽게 작동해야한다.
  • Idle(50ms) : 로드가 된후 사용자의 입력이 가능해지기까지의 시간? (idle block)
  • Load(1s) : 로드를 빨리하는것은 최적화에서 굉장히 중요한부분이다.

FLIP

First Last Invert Play

참조영상 https://www.youtube.com/watch?time_continue=101&v=H3z97NcAbCI

RAIL 시나리오 1

문제 : should loading spiner be requested during the animation phase?

No! Even if the request finished lt 16ms, the overhead will stretch the frame over 16ms.

You're right that the request could add extra overhead, but it also could take more than 16ms.

Make it a part of the initial app load! Don't request at during animation phase(loading, buffer.. whatever)

RAIL 시나리오 2

문제 : In the ~ 50ms post-load idle phase, what tasks can you accomplish?

Starting below-the-fold async requests

Fetching images for below-the-fold content

FLIPing UI animations

Do Not Fetching images for above-the-fold content. It should have already been downloaded and visible.

results matching ""

    No results matching ""