반응형

나는 보통 앱 제작을 할때 통이미지를 넣지 않다보니 

별 생각없이 해상도별 이미지를 제작하지않고 nodpi로 작업을 해왔다.

 

그런데... 

이번 멤버쉽 앱 개발건으로 통이미지를 사용을 하였는데.

각 테스트폰에서 테스트를 진행 중 특정폰에  버벅거림이 발생한것이다.

다행히? 이를 그냥 넘기지 않고 좀 알아보았다.

 

https://developer.android.com/topic/performance/vitals/render?hl=ko 

 

느린 렌더링  |  Android 개발자  |  Android Developers

느린 렌더링 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. UI 렌더링은 앱에서 프레임을 생성하여 화면에 표시하는 작업입니다. 사용자와 앱의 상호작용이

developer.android.com

 

 

https://developer.android.com/topic/performance/rendering/inspect-gpu-rendering?hl=ko#profile_rendering 

 

GPU 렌더링 속도 및 오버드로 검사  |  Android 개발자  |  Android Developers

앱에서 문제가 발생할 수 있는 위치를 시각화하는 데 도움이 되는 온디바이스 개발자 옵션을 알아보세요.

developer.android.com

 

... 공부 내용은 후에 작성하는 걸로 하고... 

일단 각 통이미지는 해상도별 분리를 좀 해주었다.

 

 

- drawable-mhdpi

      (이미지는 360 x 640 기준으로 제작된 이미지 이여야함)

- drawable-hdpi

      (이미지는 540 x 960 기준으로 제작된 이미지 이여야함)

- drawable-xhdpi

      (이미지는 720 x 1280 기준으로 제작된 이미지 이여야함)

- drawable-xxhdpi

       (이미지는 1080 x 1920 기준으로 제작된 이미지 이여야함)

- drawable-xxxhdpi

       (이미지는 1440 x 2560 기준으로 제작된 이미지 이여야함)

 

일단 방금 비슷한 문제 뿐만아니라 다른 문제도 해결할 겸 

프로파일링 방법에 대해서 작성을 해본다.. 

 

GPU 렌더링 속도 프로파일링

  1. 기기에서 설정으로 이동하여 개발자 옵션을 탭합니다.
  2. 기기에서 실행 중인 Android 버전에 따라 모니터링 섹션에서 GPU 렌더링 프로파일 또는 HWUI 렌더링 프로파일을 선택합니다.
  3. 'GPU 렌더링 프로파일' 대화상자에서 화면에 막대로 표시를 선택하여 기기의 화면에 그래프를 오버레이합니다.
  4. 프로파일링하려는 앱을 엽니다.

막대에 관련 내용은 위 링크를 통해 확인하면 될듯. 

 

GPU 오버드로 시각화

  1. 기기에서 설정으로 이동하여 개발자 옵션을 탭합니다.
  2. 하드웨어 가속 렌더링 섹션으로 스크롤하여 GPU 오버드로 디버그를 선택합니다.
  3. GPU 오버드로 디버그 대화상자에서 오버드로 영역 표시를 선택합니다.

Android에서는 다음과 같이 UI 요소에 색상을 지정하여 오버드로 횟수를 나타냅니다.

오버드로 시각화를 통해서 필요 이상으로 많은 작업의 실행을 줄일 수 있을 뿐만아니라 

위치를 알 수 있어 매우 유용할듯 하다..

좀더 공부 후 글을 다듬도록하자.

반응형

+ Recent posts