Samsung S8 Software Update OFFICIAL One UI Android 9 0 Pie Review|Sammobile

테크노 Uxama YouTube 채널 구독 최신 아이콘을 보려면 벨 아이콘을 누르십시오 재미있는 기술적 비디오

얘들 아, 우사 마야 그리고 Techno Uxama YouTube 채널을보고 있습니다 이 동영상에서는 삼성 훌륭한 일을 해냈습니다 마지막으로 우리는 하나의 UI에 대한 최신 업데이트를 얻었습니다 삼성 갤럭시 폰에서는 S8과 S8 +입니다

우리는 2009 년과 다른 전화를 들었습니다 그래서이 비디오를 계속 보아라 우리는 전화를 완전히 업데이트 할 것입니다 얘기합시다 [테크노 뮤직 플레이] 그리고 우리는 삼성 갤럭시 S8 + Android One UI

나는이 UI를 매우 좋아한다 이 기능에 관심이 있습니다 내가 좋아하는 UI, 즉 하나의 UI입니다 안드로이드 10에서 gen 9

0 Pie 그리고 삼성,이 런칭에 대한 좋은 소식입니다 UI와 매우 흥미 롭습니다 이제이 UI를 설치하고 점검 할 것입니다 즉, 어떻게 작동하고 몇 가지 중요한 기능

그러니 끝까지이 비디오를 계속 시청하십시오 너에게 뭔가 보여 줄거야 이 비디오에서 특별하다 이 UI를 포함하여 작동 방식 및 작동 방식 그것은 다른 Samsung 그들에서 아주 매끄럽다 최신 휴대 전화로 휴대 전화를 업데이트하는 데 큰 부분을 차지합니다

UI, 얘들 아, 특별한 걸 보여주고 싶다 이것은 적절한 업데이트입니다 그리고 저는 이것을 수동으로 업데이트합니다 따라서 모든 사용자가 직접 전화를 업데이트하는 것이 좋습니다 때때로 당신은 [? 이상한?] 알림 [을 (를) 통해 휴대 전화를 업데이트 하시겠습니까? 데이터

?] 그래서 수동으로 이 업데이트를받지 못하면 이 업데이트를 얻으면 매우 좋습니다 이제 삼성의 특징을 확인하겠습니다 One UI에 포함되었습니다 하나의 UI 컨텐츠 설정을 읽을 수 있습니다 그리고 다른 정보는 당신을 지키기 위해 인정되었습니다

집중하고 손에 그 이미지의 상호 작용은 가장 중요한 새로운 디자인과 새로운 기능으로 이전되었습니다 저렴하고 아주 특별한 것을 포함해서 그것 모두는 전시 중이다 삼성 키보드 업데이트 및 Bixby 새로운 기능, 전화가있다 다이얼러, 갤러리, wi-fi 삼성 건강, 그리고 많은 것들 이 업데이트에서 개선되었습니다

확인하고 싶으면이 기능들을 읽을 수 있습니다 매우 신중하게 이것이 바로 삼성이 더 많이 포함시킨 것입니다 전화가 완전히 바뀌 었음을 의미합니다 모든 것이 업데이트 되었기 때문에

그리고 현재 안드로이드 UI 버전을 확인하고, Android Oreo 801에서 실행됩니다 그리고 그게 다야 8

00입니다 그게 전부 야 그리고 삼성은 최종 사용자 경험 90을 제공합니다

하나의 UI는 매우 중요한 기능입니다 그리고 우리는 모든 것을 준비했습니다 One UI의 모든 새로운 기능이므로 설치 시간입니다 배터리를 충전하는 중입니다 업데이트를 설치할 시간입니다

모바일 데이터로 업데이트를 다운로드했기 때문입니다 나는 그 업데이트에 매우 흥미가 있기 때문에 그리고 나는 나의 1600 [? Ambis?] 모바일 나는 아무것도하지 않았다 이제 설치 프로세스를 시작하십시오 그리고 그것을 특징으로합니다

나는 그것이 어떻게 작동하는지 매우 흥미 롭습니다 이 업데이트에서 나는 모든 것을 보여줄 것입니다 그것이 작동하는 방식과 시간이 얼마나 걸릴지 등이 포함됩니다 [비공개]이 동영상을 종료하십시오 그래서 약간의 문제, 제 언어

하지만 너는이 비디오를 완성해야 해 왜냐하면 나는 갈거야 이 비디오를 하나의 UI로 최신 S8 +로 업데이트하십시오 이제이 업데이트를 설치해야합니다 업데이트가 완료 될 때까지 계속 동영상을 시청하십시오

방법 그리고 나서 나는 훌륭한 특징에 대해서 이야기 할 것입니다 이 비디오에서 하나의 UI에 대한 다음 비디오에서는 몇 가지 중요한 기능에 대해 논의 할 것입니다 하나의 UI에 포함되어 삼성 사용자를 변경합니다 모든 삼성 사용자의 경험 왜이 비디오를 완벽하게 시청할 것을 권합니다

업데이트는 여전히 진행 중입니다 24 %로 확인할 수 있습니다 그리고 나는 계속 될 것이고 나는 아주입니다 재미 있고 흥미로운 One UI를 확인하십시오 잠깐

24 %입니다 이제는 53 %입니다 시간이 더 걸리기 때문에 나는 비디오를 건너 뛴다 그러나 당신은 이것을 얻을 것이다 55 %입니다

그리고 지금, 어서, 그냥 그것을 확인하십시오 삼성 원 UI는 가장 중요한 UI 중 하나입니다 세상에 안드로이드 사용자 경험이 그렇게 좋지 않기 때문입니다 모든 삼성 휴대 전화에서이 UI를 경험하기 때문에 S9, S9 +, 주 9 및 기타 전화는이 업데이트를 제공합니다

Galaxy S7 및 S7 Edge에서이 업데이트를 기다리고 있습니다 이것이 내가 제일 좋아하는 전화이기 때문입니다 92 %를 기다리고 있습니다 이 업데이트를 완료하는 데 몇 시간 만 더 소요됩니다 그런 다음 Samsung One UI 성능을 확인합니다

내 S8 +의 변화 이 업데이트가 완료되면 내 S8 +가 S10이 될 것입니다 그래서 지금은 단지 100 %입니다 그래서 시간이 왔습니다 그리고 이제 우리는 삼성 S8 +, 하나의 UI에서 작동하는 방식

후행과 몇 가지 어려움이 있습니다 귀하의 UI에서 수정하거나하지 않습니다 삼성 S8 + 로고가 나옵니다 그리고 [INAUDIBLE]에서 삼성 로고를 기다리십시오 그래서 삼성 로고는 [부적절한]

처음으로, 첫 번째로드에는 많은 시간이 걸리고, 그러나 다음 번에는 더 부드럽게 진행될 것입니다 One UI가 설치된 후 첫 번째 부팅입니다 그리고 나는 기다리고있다 나는 단지 어떤 기능이 포함되어 있는지를 기다리고있다

그리고 전화의 앞면이 뭔가 특별한 것을 얻을 것입니다 One UI 큰 아이콘, 내 파일 갤러리, 전화의 모든 내용이 업데이트되었습니다 그것은 아주 특별한 무언가입니다 그리고 앨범에서 이미 이야기를들을 수 있습니다 따라서이 업데이트를 설치해야합니다

모든 삼성 사용자가 따라서 One UI에서 약 114 개의 앱을 최적화합니다 따라서 최적화 앱을 업데이트하는 데 시간이 걸립니다 최신 뉴스를 기다리는 중입니다 따라서 응용 프로그램을 설치하는 데 단 1 분이 걸립니다 단지 1 분 더

그게 다야, 친구들 이것은 갤럭시 S8 +에서 삼성의 UI 중 하나입니다 첫 번째로드이므로 시간이 오래 걸립니다 일부 앱을 여는 중입니다 그 후, 그것은 꽤 빨리 갈 것입니다

전화 걸기를 열어 보겠습니다 그것은 완전히 바뀌 었습니다 나는 보았습니다 그리고 매끄러운 애니메이션들, 나는 그렇게 좋아합니다 그리고 그것은 훌륭합니다

설정은 얼마나 증가하고 얼마나 많이 개선 되었습니까? 전화, 설정 메뉴 및 모든 것 이제 소프트웨어 버전을 확인할 것입니다 그건 안드로이드 버전 9이고, 안드로이드 UI 10, 하나의 UI Android 그것은 좋은 소식입니다

나는이 업데이 트를 얻을 매우 관심이 있습니다 모든 삼성 사용자는 업데이트해야합니다 그리고 삼성 S7 및 S7 Edge 사용자는 더 기다려야합니다 나는 그것이 4 월 경에 업데이트 될 것이라고 생각한다 또는 그것의 더 많은 것은 안드로이드 파이를 얻기 위해 시간이 걸립니다

그래서 내 업데이 트를 마쳤습니다 그리고 카메라 기능은 매우 중요하고 사진입니다 그리고 다음은 선택적 초점, 비디오, 그리고 슈퍼 슬로우 모션 모든 것이이 UI에 포함됩니다 메시지가 완전히 바뀐다

애니메이션은 아주 좋습니다 나는 이것을 여기에서 매우 좋아한다 우리는이 비디오에서 집으로 돌아갈 것이며이 비디오에서 작별 인사를합니다 관심이 있으시면 버튼을 누르십시오 내 채널을 구독하고 내 지원을 찾으십시오

그리고 제 언어에서이 비디오에 실망한 사람이 있다면, 나는 매우 유감 스럽다 왜냐하면 나는 처음으로 영어 비디오를 제작하기 때문입니다 그리고 곧, 더 많은 비디오를 만들면서 그들은 향상 될 것입니다 그래서 삼성 갤럭시 S7이 있습니다 나는 [? 하데스?] 안드로이드 8

0 Oreo 그리고 나는 Samsung S7 Edge와 Pie 업데이트를 기다리고 있습니다 곧 올 것이다 Android 80

0을 확인할 수 있습니다 그래서 다음은 그 것입니다 흥미롭게도 소프트웨어 업데이트입니다 확인하러 갈거야 그래서 수동으로, 귀하의 장치가 최신이라고합니다

그래서 우리는 수동으로 업데이트해야합니다 나는 기다리고있다, 삼성 3 월에 올거라 생각합니다 어쩌면 8 월에 나옵니다 나는 그것을 확인하지 않는다

하지만 삼성 One UI로 다음 비디오에서 만나겠습니다 개선 및 기능 그러니주의하십시오 안녕

Android Performance: UI (Google I/O '17)

[음악 재생] CHET HAASE : 와우, 미온 한 박수 고맙습니다

크리스 크랙 : 제 이름은 크리스 크레이크입니다 나는 안드로이드 UI Toolkiit에서 일한다 CHET HAASE : 나는 Chet Haas입니다 나는 또한 안드로이드 UI Toolkit 팀에서 일한다 그리고 오늘, 우리는 공연에 관해서 이야기하지 않겠습니까? 우리가 퍼포먼스 토크를한지 얼마되지 않았습니다

그래서 우리는 다시해야한다고 생각했습니다 우리가 공연에 관해서 이야기하기를 좋아하기 때문입니다 올해의 퍼포먼스 토크에서, 우리는 그것을 좀 더 유스 케이스 중심으로 만들고 싶었습니다 렌더링이 어떻게 작동하는지 조금 알려주세요 우리가 만든 변화들 중 일부는 성능 향상을위한 또한 실제로 어떻게 할 것인지에 대한 몇 가지 단계를 거칩니다

jank이 무엇인지 알아보고, 응용 프로그램에서 그것을 수정하는 방법 그러자 UI 성능, 이봐, 너 거기 간다 그래서 우리는 초당 프레임, FPS에 대해 이야기합니다 정말 좋은 통계입니다

무엇을 이해할 수있는 좋은 방법입니다 귀하의 신청서에서 진행됩니다 그러나 실제로 기간에 대해 생각하는 것이 좋습니다 권리? 따라서 초당 프레임 수는 적지 않습니다 솔직히 디스플레이는 초당 60 프레임을 맞고 있습니다

항상 그리고 나서 같은 숫자의 명중을 정렬해야합니다 응용 프로그램에 대한 초당 프레임 수입니다 그러나 기간에 대해 생각하는 것이 좋습니다 각 프레임이 복용하고 있습니다

그 프레임이 실제로 그리는 데 얼마나 걸리나요? 너는 그 창문 안에 들어 가지 않을거야 당신이 너무 오래 적응하지 못하면 따라서 응용 프로그램에서 jank를 수정하려면, 애매한 부분을 고치고 싶다면 언제 당신은 그 목록을 내미는 것입니다 중간에 프레임이 건너 뛰었습니다 사용자가이 janky 동작을보고 있습니다 고정하는 것은 단순히 프레임을 고정하는 것을 의미합니다

너무 오래 걸린다 또한 일관성에 대해 생각하는 것이 좋습니다 60 프레임을 가질 수 있다면 좋습니다 대부분의 경우 초당 하지만 가끔씩, 여러 프레임을 떨어 뜨리는 경우 연속적으로, 그것은 좋지 않다

당신이 정말로 원하는 것은 일관된 행동입니다 그래서 짐을 쫓는 것은 당신이있는 곳을 찾는 것입니다 그것들을 버리고 당신이 그것들에 기여하는 병목 현상을 수정합니다 그럼 시간에 대해 이야기 해 봅시다 앞으로 나아갈 시간을 살펴 보겠습니다

왼쪽에서부터, 오른쪽으로– 미안, 왼쪽에서 오른쪽으로 – UI 공간에서 어떤 일이 일어나는지 살펴보십시오 따라서 이러한 수직 새로 고침 동기화에 대해 생각해 보면, 매 16 및 2/3 밀리 초마다, 일반적으로 일반적인 디스플레이에서 Vsync 요청을 받고 있습니다 권리? 이것은 프레임을 게시하는 하드웨어 종류입니다 화면에 사용자가 뭔가를 볼 때입니다

60 초를 60, 16 2/3으로 나눈 값으로 나눕니다 나중에 필요할 때 수학을 끝낼 수 있습니다 그런 다음 프레임을 각 프레임에 매핑하면 이러한 각 프레임, 이 회색 상자는 게시물을 게시하기 위해 애플리케이션이 수행하는 작업 그 정보를 화면에 표시합니다 이상적으로, 모든 것들은 해당 프레임에 대해 일어날 필요가있는 것은 16 및 2/3 밀리 초 나는 그 말을 그만둬야 해

나는 16 밀리 초를 말할 것이고 너는 그것을 해석 할 수있다 그러나 당신은 원한다 내가 손으로 직접 그린 아름다운 아이콘 화면 맨 아래로 가면 사용자가 볼 수 있습니다 그래서 각각의 수직 동기화에서, 그들은 하드웨어 버퍼가 무엇이든간에보고 있습니다 님이 화면에 게시 중입니다

그래서 그들은 거기에서 그것을 볼 것입니다 하지만 문제가 생기면 렌더링, 프레임 중 하나가 너무 오래 걸리는 경우, 사용자는 그것을 보지 않을 것입니다 그들은 그들이 무엇을 정확히 볼 것입니다 이전 프레임에서 본 것입니다 귀하의 신청서에 너무 오래 걸렸습니다

당신은 프레임을 건너 뛰었습니다 그래서 그것은 jank입니다 그것이 우리가 분석하고 고치려고 노력해야 할 자국입니다 그러니 조금 뒤로 물러나서, 좋아, UI 툴킷에서 실제로 렌더링이 어떻게됩니까? 앱의 관점이 있습니다 당신의 응용 프로그램에서 계속 진행하면 프레임 워크가 실제로 무엇인지 살펴보십시오

너를 대신해서 여기 간단한 코드가 있습니다 나는 계속해서 돌아다 보니, 알았다 그래서 화면에서 볼 수있다 여기로

여기 간단한 코드가 있습니다 우리는이 색깔을 가지고 있습니다 상황이 지금은 밝은 회색입니다 그리고 사용자가이 사용자 정의보기의 중간에 클릭하면, 우리는 색을 바꿀 것입니다 우리는 그것이 필요하다는 견해를 말할 것입니다

무효화하려면 새 색상으로 다시 그리기 따라서 사용자가 화면을 클릭하면 onclick 메서드에 이벤트를 보내고, 우리는 상황을 바꿀 것입니다 그러면 우리는 무효화 할 것입니다 무효화하면 이후에 onDraw가 호출됩니다 일련의 일이 아닙니다

그것은 onDraw를 직접 호출하지 않습니다 하지만 시스템에 알려주면, 다시 그려야합니다 그리고 나중의 호출은 onDraw 메소드로 필터링됩니다 그런 다음 onDraw가 캔버스에 그립니다 그것은 결국 화면에 게시됩니다

UI 툴킷이 제공하는 모든 작업을 통해 너를 대신해서 그래서 플랫폼 관점에서, 무슨 일이 일어나고 있는지 한 줄에 여러 가지가 있습니다 무엇보다도, 주어진 프레임에서, Vsync 요청을 받으면 입력을 처리합니다 따라서 사용자가 클릭 한 경우, 사용자가 스크롤하는 경우 우리가 그 정보를 얻는 곳입니다 그것을 바탕으로 무언가를하십시오

애니메이션이있는 경우, 애니메이션이있는 경우 그 스크롤 목록을 놓아 줘요, 지금은 그냥 뛰어 다니고 있습니다 이벤트를 게시하여 목록으로 업데이트되도록합니다 공간에서 움직이거나, 화면에서 화면을 움직이는 것처럼, 우리는 그 애니메이션 이벤트를 처리합니다 속성을 변경합니다 그게 무효화되어 적절하게 다시 그려 질 수 있습니다

그런 다음 필요한 경우 레이아웃을 수행합니다 따라서 애플리케이션에서 변경된 사항이 사물, 크기 또는 위치를 변경하고, 그것이 우리가 측정하고 배치 할 때입니다 다시 변화해야 할 일, 무효화 및 다시 그립니다 그리고 나서 우리는 실제로 우리가 기록적인 무승부라고 부르는 것을합니다 이것이 이전 슬라이드에서 우리가 보았던 것입니다

onDraw 메서드에서 여기가 네가 무엇이든 할 수있는 곳이야 우리가받은 드로잉 작업을 원한다 내부적으로 저장합니다 캔버스, 새로운 색을 그려보세요

그래서 당신은 우리가 다음에 그릴 수 있도록 후드 아래에서 옳은 일 그리고 마지막으로 렌더링합니다 이것이 바로 우리의 무대입니다 그래서 처음 네 단계에서 모든 것을 할 수 있습니다 코드에서, 또는 표준보기에서, 우리는 그것을하고 있습니다

그리고 우리는 렌더링을 처리합니다 그리고 그것은 기본적으로 변형입니다 우리가 쓴 무엇이든 아래층에서해야합니다 나는 너에게 힌트를 줄 것이다 OpenGL 또는 GPU 명령으로 바꾸고, 그런 다음 우리는 GPU에 보냅니다

우리가 아름답고 빛나는 색채를 보면 몇 가지 다이어그램에서 사용하려고합니다 우리는이 다섯 단계를 가지고 있습니다 그래서 특정 프레임에서 지루한 회색 상자가 있습니다 실제로 다른 단계로 나뉘어져 있습니다 앞의 예제에서, 간단한 애플리케이션 코드에서, 우리는 거기에 모든 단계가 없었기 때문에 레이아웃이 필요하지 않았습니다

우리가 한 모든 일은 색을 바꾸는 것이 었습니다 그래서 우리는 onclick에 대한 정보를 얻었습니다 캔버스 작업의 기록을 그렸습니다 새 색상을 그리고 나서 그 결과로 생긴 렌더링 작업 전형적으로 – 그래, 슬라이드에서 말하는 것처럼

전형적인 어플리케이션에서,보다 일반적인 프레임, 그러면 거기에 모든 단계가있게 될 것입니다 따라서 우리는 일부 입력과 일부 애니메이션을 처리 할 수 ​​있습니다 일부 레이아웃 및 레코드를 작성한 다음 렌더링합니다 그리고이 모든 일들이 연속적으로 일어나고 있습니다 그래서 이것은 작업 순서입니다

실제로 실제로 두 개의 스레드가 있습니다 우리가 렌더링 스레드를 가지고 나온 롤리팝처럼 기술, 이전에 우리가 얘기했던, 우리가 처리하는 곳 모든 응용 프로그램 공간이 계속 진행됩니다 응용 공간에서 처음 네 단계, 또는 UI 스레드에서 그리고 나서 우리는 실제로이 분리 된 실을 가지고 있습니다 렌더링을 처리합니다

그것들은 여전히 ​​연속적으로, 순차적으로, 렌더링 스레드가 무엇을 알지 못하기 때문에 당신이 말할 때까지 렌더링 할 수 있습니다 그러나 렌더 스레드는 다른 것들을 비동기 적으로 수행 할 수도 있습니다 UI 스레드에서 그래서 우리는 원자 애니메이션의 일부를 보낼 수 있습니다 그 동안에 처리 할 수 ​​있습니다

그러나 일반적으로 UI 스레드에서 이러한 모든 작업을 수행합니다 그런 다음이 정보를 렌더링과 동기화합니다 스레드를 생성 한 다음 해당 스레드에 스레드를 렌더링하고, GPU와 대화를 처리합니다 따라서 잘 작동하는 응용 프로그램에서 전형적인, 이것이 스크롤링 또는 핑거링 상황이라고 가정 해 봅시다 응용 프로그램에서 물건이 잘 작동하고, 그리고 비교적 빨리 그릴 수 있습니다

이것은 상황이 어떻게 생겼는지입니다 다시 말하지만, 하단의 아름다운 눈 아이콘, 사용자가 프레임이 발생하는 것을보고, bam, bam, bam, bam, 모든 것이 16 밀리 초의 장벽 내에서 발생합니다 그러나 전형적인 janky 상황에서 갑자기, 뭔가 더 오래 걸렸다 여기에서는 입력 명령이 훨씬 오래 걸리는 것을 볼 수 있습니다 따라서 사용자가 클릭 할 때 비용이 많이 드는 작업 수행되었다

누군가 웹 서비스 호출을했습니다 또는 일반적으로보기를 만들었거나 바인딩했습니다 당신은 비싼 수술을 했어요 우리에게 많은 일을 시켰고, 시간을 밀었습니다 당신이 그 모든 일을 기록하는 데 지출하고 있다고 작업

그런 다음 렌더링 작업이 반드시 미끄러졌습니다 다음 프레임으로 이동하고, 사용자 장벽에 부딪치지 않았기 때문에 그 의견을보고 싶지 않았습니다 그래서 그것은 우리가 고치기를 원하는 재앙입니다 좋아, 움직여 보자 너는 무엇에 관해서 말하는 걸까? 응용 프로그램에 문제가 있습니다

쳇이 묘사 한대로, 지금 어떤 일이 일어날 지 알 것입니다 프레임이 너무 오래 걸리는 경우 우리가하는 과정에 대해 이야기 해 봅시다 de-janking이라고 불리우는 것, 당신의 신청서를 밟는 것, 이러한 문제를 찾아 내고 수정합니다 따라서 귀하의 신청서를 취소하는 첫 단계 release-ish 빌드를 실행하는 것입니다

그래서 저는 그것이 의미하는 바는 make 디버깅을 실행하고 있는지 확인하십시오 디버깅을 사용하여 실행중인 경우, 호는 다른 수표를 추가해야합니다 약간의 시간을 추가 할 수있는 검증 단계 결과를 조금 왜곡하십시오 따라서이를 무시하거나 테스트하는 것이 좋습니다 실제 릴리스 빌드

두 번째 단계는 앱을 시각적으로 검사하는 것입니다 목록을 스크롤하면서, 어떤 깡통이 생기고, 시각적으로 감지하면, 애니메이션을 보면 분명히 앱에서 가장 핵심적이고 중요한 부분부터 시작하십시오 많은 사람들이 기본 스크롤 목록을 가지고 있습니다 시작하기 좋은 곳 당신이 일종의 사람이되면 당신이 방금 볼 수 있다면, 오, 잘, 그것은 나에게 잘 보이지만, 프로필 GPU 렌더링을 사용하도록 설정할 수 있습니다

그리고 너에게이 모든 막대를 줄거야 아래쪽에, 당신에게 말할 것입니다 특정 임계 값을 통과하면 일어나고 있을지도 모르는 것에 관해 당신에게 작은 암시를 줘라, 색상에 따라 온라인에 관한 문서가 있습니다 하지만 진짜 다음 단계는, 그 후, 당신은 어떤 양동이를 보았습니다, 너 오, 그래,이 물건들이 화면에 나타날 때, 또는 UI의이 특정 부분을 처음로드 할 때, 너는 상호 작용이 무엇인지 알아 낸다

그리고 당신이 말한다, 좋아, 다음에 무엇을해야합니까? 음, 다음 단계는 일반적으로 Systrace입니다 Systrace는 SDK에있는 도구이며, 플랫폼 도구 디렉토리에 있습니다 당신은 또한 GitHub에서 꺼낼 수 있습니다 당신은 절대 가장 신선한 버전을 원한다면 그래서 여기에서 우리는 매우 빠른 라이브보기를 할 것입니다

Systrace가 실제로 어떻게 생겼는지를 통해 그래서 이것은 당신이 끌어 올 때 볼 수있는 것입니다 처음으로 Systrace 그래서이 특별한 예에서 나는 내 애플 리케이션에서 RecyclerView를 통해 스크롤 그리고 오, 저 jyy 프레임이 있습니다 나는 시각적 인 말더듬이를 볼 수있다

그래서 나는 그 시간 동안 Systrace를 잡았습니다 그리고 이제 나는 Systrace를 시작합니다 오, 세상에, 여기에 많은 정보가 있습니다 소음이 많습니다 정말보기가 어렵습니다

무엇을보고 있어야합니까? 무엇보다 먼저 할 수있는 일 여기 왼쪽을 볼 수 있니? 알았어, 알았어, 음, 커널이 있고, 잠재적으로 다른 프로세스가 있습니다 내가 뭘할지 알아? 나는 지금 다른 모든 사람들을 무시할 것이다 상단 프로세스까지 아래로 스크롤하겠습니다 지금 당장 볼 수있는 유일한 것 내 패키지, Androidjanktown입니다

사실, 그 이상으로 나아갈 수도 있습니다 여기 왼쪽에서 볼 수 있습니다 이것은 사실, 개별 스레드를 알려줍니다 우리가 신경 쓰는 것 쳇이 말한 것처럼 여기서 중요한 두 개의 스레드입니다

내 응용 프로그램의 UI 스레드와 렌더링 스레드가 있습니다 그래서 나는 더 아래로 스크롤 할 것입니다 내가 볼 수있는 모든 것까지, 화면 맨 위에, 그게 대부분입니다 그래서 매우 높은 수준에서, 그냥보고있는 것입니다 이 흔적에서, 그것에 대해 많이 알지 못하고, 나는 말할 수있다, 좋아,이 추적의 시간은 왼쪽에서 오른쪽으로 간다

가장 왼쪽에 0 초가 있습니다 더 멀리 나아가 그리고 당신이 특정한 세부 사항을 볼 수없는 경우에, 그것에 대해 걱정하지 마십시오 나중에 확대 된 일부 스크린 샷을 보겠습니다 그러나이 매우 높은 수준의 견해에서조차도, 나는 말할 수있다, 제로, 나는 작은 작은 조각을 많이 얻는다

여기,이 작은 맥박 이들은 프레임입니다 큰 확인 그것의 대부분은 믿을 수 없을만큼 일관되게 보입니다 정말 매끄럽게 보입니다

정기적으로 반복됩니다 그러나 여기에는 몇 가지 큰 시각적 우수성이 있습니다 그리고 이것은 종종 드 janking 무엇입니까 이 특별한 뛰어난 프레임을 찾고 있습니다 조사하고 있습니다 여기를 확대하면 시작할 수 있습니다 정확히 틀린 부분을 보면서 주변을 클릭하고 알아낼 수 있습니다

정확히 무엇이 문제인지 그리고 당신이 그것을 볼 수 있도록, 우리는 슬라이드로 돌아가서 당신에게 보여줄 것입니다 특별히 스크린 샷 이것은 간단한 프레임 중 하나입니다 상당히 의미심장하게, 우리가 이전에 보았던 것 매우 빈번하고 매우 규칙적인 펄스처럼

이제 이것들은 매우 좋았습니다 그들은 전에 작은 작은 조각처럼 보였습니다 그러나베이스 라인이 무엇인지 살펴보기 위해 먼저 살펴 보겠습니다 그래서 우선, Systrace에 관한 까다로운 것들 중 하나 여기에 많은 데이터가 있습니다 클릭해야 할 것이 많습니다

하지만 멋진 기능 중 하나는 이러한 UI 스레드의 대부분 구성 요소, 그것을 클릭하십시오, Systrace 당신에게 그것을 설명하려고 최선을 다할 것입니다 따라서이 특정 유형의 UI를 클릭하면 이것은 가장 많이 추적되는 섹션을 의미합니다 이것은 UI 스레드 작업을 나타내는 가장 큰 청크입니다 Systrace UI의 맨 아래에서 클릭하면, 오, 알겠습니다 안무가는 안무가입니다

그리고 사실 여기에서 문서로 연결됩니다 dandroidcom에서 Choreographer가 어떻게 설명되는지 공장 마찬가지로, 내가 드로잉 프레임을 내려다보고 싶다면, 그것은 프레임의 렌더 스레드 구성 요소입니다

그리고 그것을 클릭하면 비슷한 설명을 얻습니다 모든 종류의 추적을위한 많은 기능이 있습니다 Systrace 전체, 특히 UI 및 렌더링 스레드, 가장 관심이있을 수 있습니다 이제 우리가 물건을 클릭 할 수 있다는 것을 알았으니, 우리는 그런 식으로 조금 더 많은 정보를 얻을 수 있습니다 이 프레임이 어떻게 생겼는지 정확하게 살펴 보겠습니다

뭐하는거야? 그래서 우리가 여기서 제일 먼저 보는 것은 애니메이션 콜백입니다 이 버튼을 클릭하면 애니메이션이 표시됩니다 또는 확대하면 볼 수 있습니다 그리고 저는 이러한 방식으로 진행할 것입니다 이 애니메이션은 Chet와 ​​똑같은 애니메이션입니다

전에 그것에 대해 이야기하고있었습니다 그리고 전에 보았 더라면 많은 프레임이있었습니다 그리고 저는 그것이 RecyclerView라고 말했습니다 따라서 RecyclerView에 대한 한 가지 공통적 인 이유가 있습니다 애니메이션 효과를 발휘하고 있습니다

Flinging 애니메이션 자체는 RecyclerView의 실제를 실행합니다 애니메이션 콜백의 일부로 작업을 번역하고 팽창시킵니다 그리고 Chet가 말한 다른 무대 전에는 기록 그릴입니다 RecyclerView 뷰가 유용하기 때문에 무효화, 주위의 미끄러짐 및 그리기입니다 좋아, 우리는 그것이하고있는 일에 대해 약간의 맥락을 얻는다

그리고 실제로이 부분을 클릭하면 애니메이션 안에있는 애니메이션의 이것은 RecyclerView 스크롤입니다 따라서 RecyclerView 스크롤은 실제로 정말로, 정말로 빠르게 여기에 RecyclerView가 최소한의 작업을 수행하고 있기 때문입니다 사실,이 UI가 차지하는 시간을 살펴보면 프레임은 125 밀리 초입니다

훌륭합니다 전체 프레임은 6 개 미만으로 완료됩니다 축하합니다 이제 우리는 조금 더 느린 프레임을 봅니다 이제이 사람은 실제로 끔찍하지 않습니다

그러나 그것이 이전의 것과 어떻게 다른지 살펴 보겠습니다 그래서 우선, 여기에 측정 값이 있음을 알 수 있습니다 그래서 계층 구조의 어떤 것이 레이아웃을 요청했습니다 재평가 됐어 알았어, 알았어

여기 또 다른 것은 업로드 비트 맵입니다 그래서 RenderThread가 비트 맵을 처음 보았을 때 그것을 표시 할 필요가있을 때, 그것은 GPU에 업로드 될 것이고, GPU가 정말 빨리 그릴 수 있도록 OpenGL에 업로드했습니다 이제 첫 번째 업로드는 약간 비쌉니다 나중에 조금 더 얘기하겠습니다 그러나 실제로, 우리가 그것을 보면, UI 스레드 4 밀리 초가 걸린다

전체 프레임 13 미만으로 끝납니다 이것은 문제가되지 않습니다 이건 괜찮아 그러나 이제는 정말 나쁜 것들을 보도록하겠습니다 이것들은 우리가 멀리에서 본 것들입니다

좋아요, 여기서 분명히 뭔가가 일어나고 있습니다 하지만 네가 새로운 사람이라면, 무슨 일이 일어나고있는거야? 무슨 일이 일어나는지 어떻게 알 수 있습니까? 그래서 실제로,이 부분을 클릭하면, RV CreateView, 설명 할 것입니다 이것은 기본적으로 어댑터의 콜백입니다 onCreateViewHolder에 대한 즉, RecyclerView는 새로운보기가 필요합니다

그리고 그것을 창조하고 있습니다 그리고 실제로, 당신이 바로 아래를 보면, 음, 많은 이유, 많은 시간들 이 CreateView 부분을 차지하고, 그것은 팽창하고 있다는 것입니다 특히 복잡한 물건들로 부풀려지다 내 RecyclerView에서 시간이 좀 걸릴 수 있습니다 글쎄, 그건 불행한 일이다

다음 부분 인 onBindViewHolder에서 밀리 세컨드 반 정도 걸립니다 좋지는 않지만 OK, 그럼 어떻게해야합니까? 알다시피,이 UI 스레드 프레임은 약 20 밀리 초가 걸렸습니다 UI 스레드에서 약 274로 합계 안좋아

우리는 분명히 그 틀을 잡을 것입니다 그래서 이것은 실제로,이 과정입니다 네가 통과 할 수있는 사람이야 그러나이 특별한 경우에, 우리는, 우리가 너를 도울 수있는 뭔가 야 지원 lib와 함께

그리고 이것은 우리가 작업 한 기능입니다 정확히 그 목적을 위해 그럼 돌아가서 조금 얘기합시다 RecyclerView가하는 일 따라서 RecyclerView는 기본 지원 lib 구성 요소입니다

콘텐츠의 동적 목록을 표시하기위한 뷰를 동적으로 보여줄 필요가있다 무한 또는 잠재적으로 스크롤하거나 표시 뷰 계층 구조에 첨부 된 것보다 많은 컨텐츠 그래서 나는 무엇을 의미합니까? 글쎄, 네가이 네 가지 항목을 부분적으로 가지고 있다면 RecyclerView에 표시되고, 스크롤을 시작하고, RecyclerView가해야 할 일은이 네 가지를 처리하는 것입니다 특정 항목 실제로,해야 할 일은 그것들을 아주 약간 상쇄하는 것입니다

그것이 우리가 보는 일의 양입니다 그리고 사실, 기억한다면, 첫 번째 RV 우리가 강조했던 두루마리, 그것은 작았 다 RecyclerView가 거의 수행하지 않았기 때문에 사소했습니다 그러나 일단 우리가이 특정한 목록의 가장자리에 도착하면, 음, 무슨 일이야? 이제 우리는 갑자기 일부 양동이를 볼 수 있습니다 이것은 흥미로운 일이 일어나는 프레임이기 때문입니다

처음으로이 목록에는 5 개의 항목이 있습니다 즉 이전에 재활용 할 품목을 얻을 수 없다는 의미입니다 즉,이 메시지 아이콘을 부풀려 야합니다 음, RecyclerView가 작동하는 오래된 방법입니다 이제는 어떤 종류의 단순화 된 버전으로 돌아가 보겠습니다

우리는 Systrace에서 보았습니다 다시 한 번 말하지만, 이것은 추방하는 동안 일어났습니다 우리는 완전히 멋지게 보이는 두 개의 프레임을 가지고 있습니다 짧은 UI 스레드 지속 기간 매우 합리적인 RenderThread 기간 마감일 전에 끝났습니다 그러나 갑자기, 당신은 큰 애니메이션 덩어리를 쳤습니다

우리가 알다시피,이 특별한 경우에, RecyclerView가 생성 및 바인딩 작업을 수행하고 있기 때문입니다 작업 그래서 우리는 여기서 재미있는 것을 보게됩니다 RenderThread가 작동 할 때, UI 스레드는 10 밀리 초 동안 완전히 유휴 상태입니다 이 새로운 프레임이 나오기 전에

플링이 예상되는 것은 어렵지 않습니다 계속할 것입니다 제 말은 애니메이션이하는 일입니다 그리고이 작품을 만들어, 실제로 바로 거기에 맞을 수 있습니다 따라서 RecyclerView Prefetch에서이 작업을 수행합니다

우리는 새로운 아이템을 기대하기 시작했습니다 근본적으로 화면에 올거야 그들로부터 도둑질을했다 깨달음, 오, 그게 많은 일을 할거야 저를 조금이라도 훔치도록하겠습니다

내가 인플레이션하러 가자 일찍부터 우리는 필요에 따라 그렇게 할 필요가 없습니다 그리고 이것은 실제처럼 생겼습니다 이 앱은 똑같은 응용 프로그램의 Systrace입니다 내가 한 모든 일은 지원을 업데이트하는 것뿐이었습니다

lib를 사용하여이 기능을 사용하십시오 갑자기 Systrace에서 RV Prefetch 이벤트가 발생합니다 다시 한번 클릭하면 Prefetch 기능에 대해 설명하고, 그것은 무엇을합니다 그리고 와우, 우리가 꺼낸 13 1/2 밀리 초입니다 다음 프레임의 우리는 일을 훔쳐 막대한 시간을 절약했습니다

그리고 이것은 무언가의 위대한 모범입니다 지원 lib가 한 일이지만 절대적으로 프로세스입니다 당신이 훑어 볼 수있는 자신의 응용 프로그램에 문제가 있습니다 지원 lib는 이런 식으로 모든 문제를 해결할 수 없습니다 하지만 좀 더 프리 페치에 대해 이야기 해 봅시다

그래서 몇 가지주의 사항이 있습니다 항목이 실제로 필요하지 않으면 어떻게됩니까? 항목을 프리 페치하면 어떻게 될까요? 그리고 갑작스럽게, 그 항목 바로 앞에 화면에 올 때, 사용자는 화면을 탭하기로 결정하고, 날뛰다 멈춰? 별똥별을 멈 추면, 당신이 그 물건을 필요로하지 않으면, 뭔가 다른 것이 들어 오면 마지막 순간에 새 데이터가 도착하면 작업을 잘못 수행했을 수 있습니다 그리고 정말로, 괜찮습니다 시간의 999 %, 프리 페치가 진행 중입니다

올바른 결정을 내리기 위해 그 특별한 경우에 약간의 작업을 낭비 할 수 있습니다 그래도 RenderThread가 없다면? RenderThread가 없다면 프리 페치를 시도하지 마시고, 지금부터 시작하십시오 RenderThread가 대다수의 장치에 있기 때문에, 당신은 무료로 대부분의 장치에서 이것을 얻을 수 있습니다 지원 lib의 최신 버전 만 사용하면됩니다 하지만 오래된 장치에서는이 기능이 작동하지 않습니다

그래서 가용성, 이것은 실제로 얼마 전부터 lib v25가 지원되었습니다 그러나 가장 좋아진 사람들을 포함하여 점점 좋아지고 있습니다 26의 최근 베타 버전 이 기능은 기본 레이아웃 관리자에 내장되어 있습니다

그래서 RecyclerView, horizontal, 수직, 무엇이든간에 선형 또는 시차 또는 격자 레이아웃, 너는 단지 이것을 무료로 얻는다 이것은 최신 지원 lib로 업데이트하는 것입니다 그러나 사용자 정의 레이아웃 관리자가있는 경우, 당신이 완전히 관습적인 것을하고 싶다면, 또는 흥미로운 방식으로 하위 클래스 중 하나를 하위 클래스로 만들려면, 당신이 재정의해야 할 수도 있다는 것을 명심하십시오 이 특정 방법은 인접한 프리 페치 위치를 수집합니다 그리고 이것이 당신의 커스텀 레이아웃 매니저에서, 똑같은 동작을 얻을 수 있습니다

그리고 당신은 구현을 볼 수 있습니다 다른 것들의 그리고 Chet의 멋진 글에서 이것에 대해 더 많이 읽을 수 있습니다 RecyclerView에 대한 프리 페치 하지만 조금 뒤로 물러나서 이야기 해 봅시다

음, 뭐라구? 음, 우리는이 특별한 경우를 보았습니다 버스트 작업 부하를 가진 RecyclerView가 jank를 유발할 수 있습니다 그러나 일종의 이야기하고, 뒤로 물러나서, 무엇을 이야기할까요? 역사적으로 Android와 jank의 문제였습니까? 그래서 우리가 생각한 가장 오래된 것들 중 하나 쓰레기 수거입니다 역사적으로 가비지 수집은 중요한 문제였습니다 Android에서 그러나 이것은 플랫폼 꾸준히 개선되고 있습니다

따라서 alloc에 ​​대한 GC는 ART를 사용하여 L에서 본질적으로 고정되었습니다 나는 수백 개의 흔적을 보았다 나는 무엇보다 가장 막강하게 블로킹 GC를 보지 못했다 앱 할당 GC는 큰 문제가 아닙니다

그러나 여전히 런타임은 계속해서 개선되고 있습니다 런타임은 GC에서 더 좋아지고 있습니다 할당 오버 헤드를 낮 춥니 다 OS 쓰레드 스케쥴링, 이것은 특히 흥미로운 것이다 이전 버전의 커널에서, Android의 이전 버전에서 플랫폼은 언제쯤에 나쁜 결정을 내릴 것입니다

귀하의 신청서를 예약하십시오 이것은 특히 N / O에서 크게 개선되어 왔으며, 하지만 유감스럽게도 커널에만 한정되어 있습니다 그래서 그것은 보장되지 않는다는 것을 의미합니다 모든 N 또는 O 장치에 있어야합니다 그러나 확실히 새로운 장치를 찾으십시오

특별히 스레드 스케줄링을보고 있다면, 작업이 실행 중인지 확인하려는 경우 당신이 그것을 원할 때 정확하게 렌더링은 흥미로운 것입니다 나는 많은 부분을 렌더링 할 때 일한다 렌더링, 특히, 하나의 것들 나는 Chet와 ​​Ramon이 수년 전에 이야기했던 것을 기억한다 View Alpha가되었습니다

보자 렌더링이 겹쳐져있다 설정된 레이어 유형의 하드웨어가 있습니다 어딘가에 내가 기억할 필요가있는 다른 콜백들 잘, 우리는 그것을 개선하려고 노력했다

그래서 우리는 Auto-Hardware layer M을 추가하기 시작했습니다 그것을 무료로 받으십시오 M +, 당신은 여전히 ​​Hardware Layer를 사용할 수 있습니다 그 문제를 피하십시오 그러나 우리는 N, 최악의 상황을 개선합니다

비트 맵 업로드는 다른 하나입니다 일찍 일어난 일에 대해 이야기했다 처음에는 비트 맵을 표시 할 때 상당한 지연이 발생합니다 그러나 우리는 N에 새로운 기능을 추가했다 prepareToDraw 비트 맵에서 비트 맵로드 허용 라이브러리를 비동기식으로 작업을 일찍 시작하려면, 그리고 그것은 그들에 의해 채택되기 시작했습니다

이전에 말했던 것처럼 재활용보기 (View Recycling) 기본적으로 다른 일반적인 원인이었습니다 support lib가 크게 향상되었습니다 그래서 25에 추가, 거기에 와서 더 많은 개선 그리고 돌아가서 ART의 녹음을 볼 수 있습니다 더 많은 것을 배우고 싶다면이 I / O의 세션 ART가 해왔 던 일에 대해서

하지만 나는 그 모든 것을 통과하기를 원했다 그게 당신에게 말하는 것 같아서요 플랫폼이 어떻게 개선되고 있는지, 그리고 저크의 유일한 근원이되는 지점에 도착하는 것 귀하의 응용 프로그램에서 당신이 해결할 수있는 것들입니다 자 료의 출처에 대해 조금 이야기 해 봅시다 애플리케이션에서 발생할 수있는 그게 뭔가로 인해 일어날 수 있습니다

앱 내부에서 잘못되었습니다 그리고 그들 중 많은 수가 있습니다 그러나 정말로 빨리 가자 RecyclerView의 문제는 부 풀릴 필요가있는 RecyclerView 관련 문제, 마지막 순간에 그 일을하고, 느슨하게, 아마도 10 밀리 초 이상을 일으킬 수 있습니다 단일 프레임에서의 작업 하지만 RecylcerView에는 다른 미묘한 문제가 많이 있습니다

불필요한 인플레이션을 유발할 수 있습니다 그리고 그것에 대해 조금 더 이야기하십시오 그래서 비트 맵 그림을 UI 스레드에서, 무승부 콜백의 가장 일반적인 이유 중 하나 매우 길다는 것은 당신이 일부 작업을 캐싱하려고 시도하고 일부 내용을 비트 맵에 캐시합니다 그러나 유감스럽게도 소프트웨어 비트 맵으로 그립니다 특히 그것이 어디에 있든 많은 시간이 걸릴 수 있습니다

화면 크기 근처 캔버스 호출, 몇 가지 캔버스 호출, 즉 경로를 그립니다 당신이 당신의 경로에 자주 돌연변이를 일으키고 있다면, 저비용 일 수 있습니다 그리고 우리는 실제로 자신의 길을 벗어났습니다 이들 중 일부를 문서화하십시오 그리고 나는 이것을 언급 할 것이다

하지만 바인더 예제로 빨리 가자 이것이 가장 좋아하는 조사 중 하나이기 때문에 지난 버전의 Android 실적 팀 바인딩 바인더 문제를 찾고 해결했습니다 따라서 Binder는 Android의 IPC 메커니즘입니다 창 관리자와 대화하고 싶다면, 또는 뷰 계층 구조가 창 관리자와 이야기하고 싶습니다 아마 바인더를 통과 할거야

다른 사람의 콘텐츠 제공 업체와 이야기하는 경우, 만약 당신이 표면 튀김과 이야기하고 있다면, IPC를 통해 이야기하는 경우 아마 바인더를 통과 할거야 바인더에는 추적 기능이 있습니다 불행히도, IPC는 종종 매우 비쌉니다 진실을 말하면 실수로 추가하기가 쉽습니다 귀하의 응용 프로그램에

다음은 Systrace의 특정 스크린 샷입니다 계속 진행되는 바인더 트랜잭션이 많은 RecyclerView 스크롤 중에 당신이 그것을 본다면, 바인더, 바인더, 세상에, 그런 다음 UI에서 다른 콜백을 실행 중입니다 스레드, 많은 바인더를 실행합니다 이 모든 것들이 상당히 중요합니다

21 밀리 초 프레임입니다 인플레이션이 없다 절대적으로 오래 걸리는 일은하지 마라 작업을 수행하는 바인더 오버 헤드 일뿐입니다 UI 스레드에서 실제로 수행하면 안된다

그래서 바인더 추적은 전체적으로 많은 도움을 줄 수 있습니다 Systrace의 최신 버전에서는 기본적으로 설정되어 있습니다 그러나 요약하면 많은 이유가 있습니다 그리고 우리는 그들 모두를 문서화했습니다 d

androidcom/vitals 페이지로 이동하면 이 프리젠 테이션에는 많은 자료가 있습니다 코드로 더 깊이 들어간 예제가 많이 있습니다 예제 등등이 웹 사이트에서

그리고 이제 저는 그것을 다시 돌려 줄 것입니다 성능 유지에 관해 이야기 할 Chet에게 앱에서 CHASE HAASE : 나도 지적해야한다 Chris가 지적한 문서는 새로운 것입니다 방금 게시되었습니다 크리스 크랙 : 그래, 수요일

CHASE HAASE : 사이트의 퍼포먼스 문서를 생각하면, 당신은 어쨌든 그것을 확인하고 싶을 수도 있습니다 훨씬 더 자세하고 자세한 정보 그리고 문서화 팀이 일하고있었습니다 Chris와 같은 엔지니어들과 정말 밀접하게 다른 팀은 그 정보를 얻기 위해 이 드 janking 당신을 도울 정말 정확 하 고 깊은 그래서 당신이 어떻게 발견하고 수정할 수 있는지 이야기 해 봅시다

실제로 앱 성능을 유지해야합니다 그것은 네 단계의 종류로 내려갑니다 당신은 생각할 수 있습니다 하나는 사용자 통계를 수집 할 수 있으므로 실제로 통계 문제가있는 곳 자체 추적을 추가 할 수 있습니다

우리가 모든 Systrace를 볼 때주의해야 할 점은 중요합니다 Chris가 보여준 것들, 그것은 샘플링 프로파일 러가 아닙니다 메소드 호출 당 보이지 않습니다 그것은 귀하의 응용 프로그램에서 일어나는 모든 것들이 아닙니다 그것들은 우리가 계측 한 구체적인 흔적들이다

프레임 워크와 플랫폼 코드, 그래서 Systrace에서 볼 수있는 유일한 것입니다 우리가 실제로 플랫폼에 추가 한 흔적입니다 왜냐하면 우리가 흔적을 추가한다면, 그러면 애플리케이션 속도가 느려질 것입니다 그래서 우리는 그것이 실제로 의미가있는 곳에서 그것을 추가합니다 따라서 실제로 추적 기능을 추가 할 수 있습니다

그 방법을 알려 드리겠습니다 잔크 테스트를 추가 할 수 있습니다 따라서 실제로는 연속 테스트가 필요합니다 변경 사항을 구현할 때이를 알 수 있습니다 그리고 애플리케이션의 새로운 빌드를 가지고 있다면, 그리고 당신의 연기는 사라집니다

네가 의존하는 대신 그걸 알면 좋지 않을까? 사용자가 Play 스토어에서 낮은 평점을 받으면 처음 보는 사람은? 어쩌면 당신은 실제로 지속적인 테스트를 가질 수 있습니다 그걸 네가 잡을 수있어 마지막으로 도구를 사용하십시오 그는 Systrace에서 깊이 들어 봤지만 가치가있다 다른 것들에 대해서 생각해 보라

개발 중일 때 일반 도구 상자의 일부 여야합니다 그래서 내가 지적해야 할 것들 중 하나 사용자 통계를 보면 현재 대시 보드의 스크린 샷입니다 실제로는 이론적 인 스크린 샷입니다 우리는 실제로 회색 박스를주지는 않습니다 그건 의미가 없습니다

그래서 이것은 수요일에 플레이 팀이 준 이야기에서 온 것입니다 다양한 측정 항목에 대해 이야기했습니다 이제 대시 보드에 제공 할 수 있습니다 따라서 계산되고 저장되는 메트릭이 있습니다 기기에서 사용자가 선택하는지 여부에 따라 그 안에 업로드 된 다음 업로드 될 수 있습니다

귀하의 응용 프로그램을위한 귀하의 대시 보드에 대한 정보가 될 수 있습니다 그래서 사람들이 실제로 무엇인지 볼 수 있습니다 jank stats를 포함하여 실제 세계에서 볼 수 있습니다 얼마나 많은 프레임이 들어 왔는지, 그것은 이러한 지속 시간 버킷의 히스토그램의 일종입니다 각 레벨에서 얼마나 많은 프레임이 들어 오는지 그 히스토그램의

따라서 응용 프로그램의 용도뿐만 아니라 아이디어를 얻을 수 있습니다 일반적으로하고 있지만, 방금 업데이트 한 경우에도, 그리고 상황이 더 나 빠졌 으면 좋았을까요? 집계되어 표시되는 정보 Play 대시 보드에서 실제로 내부에서 왔습니다 우리는 플랫폼에서 N 릴리스에 주입되었습니다 프레임 메트릭 그리고 그 주변에는 API가 있습니다

그리고 우리는이 것을 매우 낮은 수준으로 컴파일합니다 그러나 당신은 그것에 대해들을 수 있습니다 이 OnFrameMetricsAvailableListener를 구현할 수 있습니다 그리고 프레임 당 콜백 데이터를 얻습니다 각 기간의 지속 시간은 다음과 같습니다

이 개별적인 것들 네가 생각하면, 네가 GPU 프로필 또는 온 스크린 프로파일 러를 완료하고, 우리는 이전에 스크린 샷을 보았습니다 그 모든 정보 정확히 당신이 얻는 기간입니다 FrameMetricsListener에서 입력은 얼마나 오래 걸렸습니까? 애니메이션은 얼마나 오래 걸렸습니까? 프레임의 총 지속 기간은 얼마나됩니까? 따라서 모든 정보를 얻을 수 있습니다

그것을 집계하여 업로드하십시오 당신의 심장 내용을 분석하십시오 우리는 지원 lib의 v26에서 약간 단순화했습니다 따라서 베타 버전에는 지금이 비트가 있어야합니다 따라서 프레임마다 듣고 지속 시간을 확보하는 대신 그리고 나서 그것들을 집계 할 필요가있다

우리는 당신을 위해 그들을 모아 놓았습니다 기본적으로 지속 기간 버킷의 SparseIntArray를 가져옵니다 히스토그램 그리고 다시, 당신은이 물건들을 컴파일하고 집계 할 수 있고, 기기에 저장 한 다음 업로드하십시오 오프라인으로 분석하도록 선택한 서버 따라서 Play 스토어 대시 보드는 귀하를 대신하여, 전체 응용 프로그램 그러나 특정 흐름을 계측하고 싶다면 귀하의 응용 프로그램에서 정말 당신이 중요하게 느끼기에 민감하거나 중요합니다

그런 다음 프레임 메트릭 항목을 사용하여이를 수행 할 수 있습니다 커스텀 트레이싱 – 내가 말했듯이, 모든 트레이스들 크리스가 보여준 Systrace 예제에서 본 우리가 플랫폼에서 가지고있는 표준 추적이었다 하지만 당신은 자신의 흔적을 추가 할 수 있습니다 귀하의 신청서에 그래서 당신은 어떤 것들을 위해 이것을하는 것에 대해 생각해야합니다 당신이 생각하는 것이 더 비쌀 수도 있습니다

당신은 레이아웃을 유발하고 있습니다 너는 그것을 원한다 보기를 바인딩하거나 비싼 물건일지도 모릅니다 거기에 추적을 추가하고 싶습니다 그 시간이 어떻게 될지보고, Systrace에서의 모습

악기를 더 많이 사용할수록, 실제로 보낼 시간이 많을수록 계측 정보를 출력합니다 그렇기 때문에 우리는 방법론 수단을 가지고 있지 않습니다 한편으로는 Systrace에 너무 많은 정보를 원하지 않습니다 왜냐하면 중요한 정보가 손실되기 때문입니다 그러나 실제로, 당신은 실제로 비뚤어지고 싶지 않습니다

계기 호출에 의한 당신의 시간 너가 실제로 만들고있는거야 귀하의 응용 프로그램에 대해서도 마찬가지입니다 그렇게 생각한다면, 반 밀리 초보다 오래 걸릴 것입니다 계측의 오버 헤드 소음에 빠질 것입니다 그러나 그것보다 훨씬 빠른 경우, 당신은 아마 그렇게하고 싶지 않을 것입니다

영구적 인 기준으로 성능 테스트는 항상 그렇습니다 어쨌든 시험을 치르면 좋습니다 네가 실제로 성능 문제를 유발할 때를 알고 있었습니까? 특히 큰 앱과 큰 팀의 경우에 그러합니다 그래서 많은 개발자들이 코드를 쥐고 있다면 공통 코드 기반으로 만들면 좋을 것입니다

문제 발생시기를 자동으로 감지하는 방법 그렇지 않다면 – 개발자가 코드를 쥐고 있다면 귀하의 아키텍처에 익숙하지 않은 또는 귀하의 관행, 그럼 당신이되고 싶어 이전에이를 감지 할 수있다 사용자 수준에서 잡기 그리고 당신은 특히 UI 영역에 대한 테스트 그게 더 중요해, 그렇지? 공통 피드가있는 경우 공통 목록 보기, RecylerView 상황 사람 모든 시간에 들어갈 것입니다 모두가 착륙하는 곳에서 그 코드를 테스트하고 그 코드가 빡빡하게 유지되는지 확인하십시오

사용자 측면에서 데이터를 수집 할 수 있으며, 장치 측 및 앱 측에서는, 및 FrameMetricsAggregator 또는 호스트 측에서도 수행 할 수 있습니다 따라서 이러한 명령 줄 도구 인 dumpsys gfxinfo를 실행할 수 있습니다 그 모든 정보를 얻을 것입니다 Gfxinfo는 다시 똑같습니다

정확히 같은 종류의 다른 견해입니다 이전에 얘기했던 기간 데이터의 GPU 프로파일 링에서 볼 수 있습니다 FrameMetrics 집계에서 그리고 특히, 당신은보고 싶다 서로 다른 백분위 수를 어떻게 처리하는지 앱의 가끔 프레임을 건너 뛰면 아무런 문제가 없습니다

경우에 따라 700 밀리 초의 프레임 저하가 발생하는 경우, 그것은 아마도 큰 문제 일 것입니다 또는 프레임의 10 %가있는 경우 실제로 경계가 누락 된 것은 큰 문제입니다 그러니주의를 기울이십시오 A, 앱이하는 일, 성능이 어떤지 알면 당신이 할 수있는만큼 좋은 성능을 얻으려고 노력하십시오 그러나 시간이 지남에 따라 변화하는 것에주의를 기울여야합니다

해당 앱을 업데이트 할 때 당신이 그것을하는 것처럼 당신이 공연을 잃지 않는다고 마지막으로 도구를 사용하십시오 그래서 우리는 Profile GPU Rendering에 대해 이야기했습니다 개발자 옵션에서 활성화 할 수 있습니다 아주 쉽게, 일들이 어디로 가고 있는지 알 수 있습니다

기기에서 무슨 일이 일어나고 있는지 RecyclerView 나 일반적인 UI가 무엇이든간에 케이스가 있습니다 그 녹색 줄이 중요합니다 초록색 선 위로 가려면, 당신은 16 밀리 초 경계를 놓쳤습니다 그리고 너는 프레임을 꽉 쥐었다 이것은 특히 janky 프레임처럼 보입니다

나는 그들이 거기에 어떤 틀을 만들고 있다고 생각하지 않는다 적어도 일관성이 있습니다 그들은 그들을 위해 그것을 가지고있다 그래서 당신은 장치에서 그렇게 할 수 있습니다 이것은 디버거와 개발자에게 더 있습니다

수준, 일종의 볼 일종의 다시 말하지만, 동일한 정보를 사용하고 있습니다 우리가 가장 낮은 수준에서 컴파일하고, 사용하기 쉽도록 화면에 둡니다 Android Studio에서 몇 가지 새로운 프로파일 링 도구가 출시되었습니다 최신 릴리스에서

그들은 이번 주 회담에서 그 문제에 관해 이야기하고있었습니다 그래서 당신은 YouTube에서 녹음 된 것들을 확인할 수 있습니다 특히이 청중에게, CPU 모니터가 정보를 제공합니다 이 모든 메소드 호출에서 실제로 무슨 일이 벌어지고 있는지 그것은 당신에게 일반적으로 좋은 아이디어를 준다

앱에서 어디에서 실적이 발생하는지, 또한 GPU 모니터는 다시 한번, 얼마나 빨리이 물건을 렌더링하는지 다른 견해, 그리고 당신이 16 밀리 초 경계를 치고 있는지 여부 CHRIS CRAIK : 네, 사실 저는 말하고 싶습니다 이전 도구에 익숙하다면 내장 된 SDK의 일부인 Trace View (추적 뷰) 모니터로, 이것은 똑같은 일을한다 하지만 UI가 훨씬 뛰어나고 훨씬 더 유용하며, 사실, 훨씬 정확한 데이터도 있습니다 지금까지는 훨씬 더 좋습니다

CHET HAASE : 다른 도구를 보는 방법 그래서 우리는 Systrace에서 깊은 다이빙을 보았습니다 특히 Systrace를 처음 보았을 때, 나는 그 도구를 다시보고 싶지 않습니다 거기에 너무 많은 정보가 있습니다 정보로 무엇을해야하는지 잘 모릅니다

그것은 모든 정보를 가지고있는 도구입니다 단지 익숙해지기 만하면됩니다 그것이 어떻게 작동하고 어떻게 신을 수 있는지를보기 위해 그것을 사용함 필요한 정보와 사용자 정의 추적을 추가하십시오 필요 나는 그것으로 들어갈 수있는 더 쉬운 방법이라고 생각한다

당신은 훨씬 더 사용하기 쉽고 더 높은 것을 사용함으로써 천천히 물속에 잠길 수 있습니다 Android Studio 도구로 진행되는 사항에 대한 그런 다음 특정 양조장이있는 경우 당신이 추적하려고하는 것, 알고있는 것 Systrace는 훌륭한 곡물 도구입니다 당신이 훨씬 더 깊은 수준에서 그것을 추적하는 것을 도울 것입니다 시스템 전반 그리고 마침내, 화제에 아닙니다, 그러나 이것을 위해 군중은 성능에 관심이 있습니다

개발자 옵션을 시험해 볼 수도 있습니다 이 대체 렌더링을 사용할 수 있습니다 기본적으로 켜져 있지 않습니다 하지만 너는 볼 수있다 응용 프로그램이 어떻게 동작하는지, 가능한 미래 가능성을 위해

Skia Renderer이므로 개발자 옵션을 사용할 수 있습니다 그것을 가능하게하고, 확실하게하십시오 거기에 문제가 없다는 것을 있다면, 그것에 대해 듣는 것이 좋을 것입니다 그래서 우리는 오늘 그것을 언급하고 있습니다 우리가 언급 한 일부 자원이 있습니다

나는 그들을 다시 데려 오지 않을 것이다 다시, dandroidcom의 vitals 페이지를 확인하십시오 특히 Slow Rendering이라는 jank 섹션이 있습니다

그리고 몇 가지 중요한 I / O 세션이 있습니다 YouTube에서 확인해보십시오 아마 이미 게시되었을 것입니다 Tim Murray는 Systrace 및 시스템에 대한 훌륭한 개요를 제공했습니다 일반적으로 성능

Android Performance – Overview ART Talk는 공연과 기억에 관해 이야기했습니다 개량 그들은 꽤 멋진 약간의 재료를했다 런타임 측면, 런타임 개선, 뿐만 아니라 GC 측면 이제는 동시 가비지 콜렉션이 있습니다

더 이상 일시 중지가 거의 없습니다 결국 전체 GC를 가져올 때까지 그리고 그들은 전경에서 압축 할 수 있습니다 최소한의 크기의 힙을 얻을 수 있습니다 훨씬 빠른 할당과 컬렉션을 얻으십시오 그 모든 것들에 대한 세부 사항은 ART 토크에 있습니다

그리고 마지막으로, Play 사람들의 이야기가 있습니다 "아무도 크래시 또는 Janky Apps를 좋아하지 않습니다" 그리고 그것이 바로 대시 보드에 대한 이야기입니다 그들이있는 다른 시설들 개발자를 제공합니다 그리고 그것은 이야기입니다

알았어 [박수 갈채] [음악 재생]

갤럭시노트9 One UI 정식업데이트하기전에 알아야할 5가지

구독하기 좋아요 ^^ 안녕, 힙합이야 업데이트 전 주 9 UI 정보 네가 알아야 할 다섯 가지 점을 알려 줄께

네가 알아야 할 다섯 가지 점을 알려 줄께 하나의 UI가 업데이트되고 기본 가이드 사용 방법 사용하게 될 기능을 보여 드리겠습니다 2019 년 1 월 15 일 Android Pie & One UI 공식 업데이트 배포 중 따라서이 업데이트 후에 하나의 UI가 적용됩니다 2019 년 1 월 15 일 마지막으로, Note 9 One UI Korea의 정기 업데이트가있었습니다 공식 업데이트를하기 전에 알아야 할 5 가지 기능을 알려주십시오 먼저 항상 하나의 디스플레이 즉, AOD가 항상 적용되는 것은 아닙니다 터치가 꺼지면 30 초 동안 화면이 표시됩니다

설정 -> 항상 표시 -> 터치 화면이 꺼지면 AOD가 나타나지 않습니다 그러나 30 초 동안 AOD를 터치하면 번인에 관한 오래된 비디오를 올렸습니다 참고 8 참고 9 4 개월 후에 불타다 나는 주석을보고, 타는 모양은 한 달 후에 태어납니다

서비스 엔지니어가 AOD에 번인 (burn-in) 서비스를받을 때 번인 (burn-in) 어쩌면 번인을 방지하는 기능이 나올 수도 있습니다 둘째 알림 창에서 직접 회신 할 수 있습니다 알림 창에서 회신을 클릭하면 즉시 회신 할 수 있습니다 (카카오 톡, 텍스트 등) 제삼 가변 키보드 테마 적용됨 카카오 톡 그레이 키보드 유튜브 블랙 키보드 네번째 마지막으로, 내가 작업하고 있던 기능이 나왔다 다크 모드 (야간 모드) 설정 -> 야간 검색 야간 모드가 나타납니다 밤에 볼 수있는 어두운 테마 적용 알림 창이 어두워집니다

야간 모드가 꺼져 있으면 흰색으로 바뀝니다 마지막 다섯째 가장 중요한 탐색 모음 기능 아래를 보면 탐색 바가 사라집니다 설정 -> 검색 '제스처' '탐색 모음' 홈 버튼을 강하게 누르고 홈 버튼을 사용하여 잠금 해제 오래된 방법으로 사용할 수 있습니다 버튼 순서를 변경할 수 있습니다 스크린 제스처 제스처 힌트를하면 아래쪽 막대가 나타납니다

제스처 힌트로 시작한 후 나중에 제스처 힌트를 끄면 화면 하단의 막대가 사라지고 깔끔한 화면으로 즐길 수 있습니다 하나의 UI를 사용하는 것이 가장 좋았습니다 제스처 기능은 정말 쉽습니다 (Apple이 그랬던 것처럼 보이지만) 가운데 홈 버튼을 위로 쓸 때 홈 버튼으로 작동합니다 역방향 함수에 대한 설명 멀티 태스킹 기능 멀티 태스킹 화면 변경됨 원하는 앱을 터치하거나 아래로 스 와이프합니다

팝업 화면으로 볼 수도 있습니다 분할 화면에 일부 앱이 없습니다 참고 9에는 하나의 UI 업데이트에 대해 알아야 할 5 가지 사항이 있습니다 지금까지 힙합이었다 비디오가 마음에 든다면 좋은 구독하기 그것을 누르는 것을 잊지 마십시오

다른 비디오에서 보자 시청 해주셔서 감사합니다 안녕

Samsung Galaxy Note 9 One UI Android Pie beta program registration open in the US

삼성 전자는 미국에서 갤럭시 노트 9 사용자에게 One UI Android Pie 베타 프로그램을 공개했습니다 흥분하기 전에 회사에서 이제는 베타 버전에 등록 할 수있는 잠금 해제 모델의 사용자는 실제 업데이트가 아직 없습니다

빨리 바뀌지 만 출시가 시작됩니다 xda- 개발자에 따르면이 시그마 프로세스는 스프린트 및 잠금 해제 된 은하계 노트를 사용하는 버라이즌 사용자 9 갤럭시 S9와 마찬가지로 Samsung Plus 앱을 열면 볼 수 있습니다 갤럭시 노트 9에 안드로이드 90과 UI 하나를 말하는 배너 그것을 클릭 한 다음 등록 옵션은 자연스럽게 삼성에 로그인해야합니다 이 슬롯에 대한 계정은 평소대로 제한 될 수 있으므로 원하는 경우 지체하지 마십시오

내년 공식 출시를 앞두고 UI 및 Android Pie 테스트 갤럭시 노트 9 안드로이드 파이 베타는 한국과 독일뿐만 아니라 삼성 서버에 양국의 베타 android 9 펌웨어가 존재합니다 동일한 일이 일어날 때 아무 말도 없다 11 월 중순에 시작된 삼성 갤럭시 S9 베타 프로그램의 단계 초기 출시 이후 아직 업데이트를받지 못했습니다

One UI 먹은 S9 소개해버리긔 ( 변화된 점 꿀팁 )

여러분 안녕하세요 썽튜브 입니다 자 여러분 오늘은 One UI 업데이트에 대해서 한번 소개를 해 드리려고 합니다 많은 분들이 기다리시던 소식이죠 삼성전자가 갤럭시S9과 갤럭시노트9 을 시작으로 안드로이드 90 파이 업데이트를 시작했습니다 한국 시간으로 1월 15일 오전부터 업데이트가 시작되었고요 이미 많은 분들이 업데이트를 하셨을 거라고 생각합니다 저도 리뷰를 위해서 업데이트 후에 2주 정도 사용을 해 보았는데요 항상 그렇지만 아이폰이든 안드로이드든 대규모 OS 업데이트가 있을 때는 약간 설레는 것 같습니다 저도 그랬지만 업데이트를 기다리셨던 분들도 어떤 변화가 있을지 많이 궁금하셨을텐데요 조금 늦은 감은 있지만 어쨌든 이번 OS 에서 변화된 내용들을 한 번 정리해서 말씀 드려 보겠습니다 우선 업데이트를 하자마자 바로 눈에 들어오는 변화가 몇 가지 있어요 이전 버전을 쓰시던 분들은 바로 아실 수 있으시겠지만 오른쪽에 있던 시계가 왼쪽으로 옮겨졌습니다 알림창을 보시면은 알림창에 모양도 바뀌었지만 알림장을 한번 더 내리면은 변화가 더욱 두드러집니다 기존의 절반 정도까지만 내려오던 알림창이 이제는 화면 끝까지 내려옵니다 위에 보면은 날짜와 시계가 크게 표시 되어 있는데 이렇게 위쪽 공간을 날짜와 시계로 많이 채우면서 상대적으로 다른 아이콘들을 아래로 많이 내려서 한 손으로 조작하기 편리하게 변경 되었습니다 자 설정화면에서도 메뉴를 한 번 더 끌어 내리면은 위쪽에 제목이 넓은 공간을 차지하면서 나타나고 메뉴들이 아래로 내려와서 한 손으로 조작하기가 훨씬 수월하게 변경 되었습니다 다른 메뉴들도 마찬가지예요 메인화면에서 전화 문자 등의 아이콘들이 동글동글하게 바뀐 것을 보실 수 있습니다 특히 아이콘들 아래쪽에 전화 문자 등 아이콘 이름이 없어지면서 좀 더 심플하고 깔끔하게 변했어요 멀티태스킹 버튼을 누르면은 사용 중인 어플 들이 좌우로 움직이게 표시되도록 바뀌었습니다 약간은 iOS 의 그것과 비슷하게 바뀌었다고 보여지는데요 iOS 와 차이점이라고 한다면은 사용 중인 어플들이 겹쳐져서 보이지 않고 독립적으로 떨어져 보이네요 사용중인 어플리케이션을 종료시킬 때도 iOS 와 동일하게 위로 쓸어올려주면 됩니다 자 여기서 어플을 이렇게 클릭해주면 팝업 화면으로 볼 수도 있고요 작게 만들어서 관리하는 것도 가능합니다 멀티태스킹 화면에서 분할 화면으로 열기를 누른 다음에 분할 화면 아래쪽에 위치시킬 어플을 클릭해주면 이렇게 바로 분할 화면도 지원됩니다 그리고 내비게이션 바를 다른 형태로 바꿀 수가 있습니다 설정에서 디스플레이 – 내비게이션 바 이 곳으로 이동을 해 보면은 기존의 버튼 형태의 네비게이션 바를 사용할 수도 있고 화면 제스쳐를 이용한 내비게이션 바로 변경할 수도 있습니다 버튼 순서를 변경 해 주는 것도 가능하구요 화면 제스쳐를 한 번 적용해 보겠습니다 아래쪽에 네비게이션 바가 버튼 형식이 아니라 화면 제스쳐 형식으로 바뀌었어요 이렇게 제스쳐 모드를하면은 화면을 조금 더 넓게 쓸 수 있습니다 원래 버튼 자리에서 위로 쓸어올려 주면은 그 버튼을 사용할 수가 있어요 해당 위치에 원래 네비게이션 버튼이 있는 거예요 많이 낯설지는 않습니다 사용을 하다 보면은 아이콘을 의도치 않게 이렇게 옮기게 되는 경우가 있으실거예요 혹은 사용하지 않는 아이콘이 이렇게 바깥으로 나와 있는 경우도 경험을 해 보셨을 겁니다 이제는 홈 화면을 잠글 수가 있게 되었어요 화면을 꾹 눌러준 상태에서 홈 화면 설정 그리고 홈 화면 구성 잠금을 눌러 주면은 홈 화면에 있는 아이콘 이동이나 홈 화면으로 아이콘을 꺼내는게 되지 않습니다 노트9도 마찬가지지만 AOD 관련해서 여러가지 이슈가 많이 있었습니다 설정에 잠금화면 Always On Display 표시 방식을 보시면은 화면을 누르고 30초동안 표시하는 화면 터치로 켜기가 추가 되어 있는 확인할 수가 있습니다 이제는 잠금 화면에서 30초만 보여지게 설정이 가능합니다 갤러리에서 사진 이나 영상을 삭제하면은 휴지통에서 15일 동안 보관되었다가 삭제되게하는 기능도 추가되었습니다 휴지통으로 보내지게 되면은 15일 동안 보관되었다가 삭제됩니다 아이폰은 이미 있던 기능이기는 한데요 실수로 사진을 지우는 경우에 굉장히 유용하게 사용할 수 있습니다 이 휴지통은 점 세개를 누르고 설정에서 휴지통 항목에서 설정해 줄 수 있습니다 이번에는 화면 잠금과 관련된 기능입니다 보통은 화면이 자동으로 회전되는 것이 싫어서 많이들 끄고 사용하는 자동회전 버튼 다들 아실텐데요 만약 웹서핑을 하는 도중에 가로 모드를 보고 싶다라고 한다면 알림센터를 열어서 자동 화면으로 전환한 다음에 다시 가로모드로 전환 해 주는 방법을 사용했었어요 그런데 이번 OS부터는 가로 모드를 보고 싶다라고 하면은 자동회전 버튼이 꺼져 있는 상태에서도 가로모드를 하면은 여기 버튼이 새로 생겨서 눌러 주면은 바로 가로모드가 됩니다 반대로 세로 모드로 하고 싶을 때도 여기 나오는 버튼을 눌러 주면은 세로 모드로 변경 되지요 진짜 좋은 유용한 기능인 것 같습니다 그리고 요즘 가장 핫한기능 화면을 검게 보여 주는 기능입니다 설정에서 디스플레이 야간모드라고 되어 있는 항목이 있습니다 야간모드를 켜면은 메뉴들이 대체로 검게 보여지는 것을 확인할 수가 있습니다 저 같은 경우는 야간모드를 굉장히 선호하는 편이어서 유튜브도 어플 자체에 있는 야간 모드를 사용을 하고 있습니다 이렇게 야간모드를 사용하시면 잠자다가 휴대폰을 켰을 때 바로 "눈뽕" 맞을 일이 조금은 줄어들 것 같습니다 자 이렇게 이번에 안드로이드 9

0 파이 업데이트의 변경된 사항에 대해서 알아보았는데요 여러분들이 보시기에 굉장히 마음에 드시는 업데이트도 있을 수 있고 마음에 안 드시는 업데이트도 있을 수가 있을 것 같아요 저는 개인적으로 굉장히 마음에드는 업데이트가 많이 있었던 것 같습니다 오늘 영상도 도움이 되셨다면 좋아요와 구독 버튼 꾹꾹 눌러 주시고 오늘 영상도 끝까지 시청해 주셔서 진심으로 감사드립니다 저는 또 알차게 준비한 다음 영상에서 찾아뵙도록 하겠습니다 감사합니다

Android UI and Layouts part 4

Android 메뉴 및 토스트 메뉴는 일반적인 사용자 인터페이스 구성 요소입니다 모든 모바일 및 태블릿 기기에 메뉴 버튼이 있습니다

이 메뉴 버튼을 클릭하면 장치에 설치된 모든 응용 프로그램의 목록이 표시됩니다 이제 메뉴 옵션 메뉴의 유형을 보게됩니다 기본 콜렉션입니다 메뉴 항목 옵션 메뉴의 메뉴의 애플리케이션 유형에 세계적으로 영향을 미친다 이것이 메뉴 팝업 메뉴의 두 번째 유형입니다

세로 목록에 항목 목록을 표시하는 팝업 메뉴 이 두 종류의 메뉴는 이제 토스트를 보자 건배는 작은 팝업 인 조작에 대한 간단한 피드백입니다 그것은 수행 할 수있는 작업에 대해 알려줍니다 그래서 그것은 일종의 툴팁입니다 이제 메뉴와 토스트가 무엇인지 연구 해 보겠습니다

다음 스냅 샷 옵션 메뉴를 공부하면 클릭 옵션입니다 어떤 옵션 토스트를 클릭하면 나타나는 옵션 메뉴입니다 이것은 팝업 메뉴입니다 show popup은 버튼입니다 이것들은 팝업 메뉴에서 세가지 옵션 중 하나를 클릭 할 때 다시 나타납니다

Eclipse IDE로 이동하여 코드가 표시됩니다 두 메뉴 모두 선형 레이아웃을 포함하는 xml 파일입니다 텍스트보기에서 이것은 텍스트 레이아웃입니다 메뉴를 클릭하여 메뉴 항목을 볼 수 있습니다 이것은 텍스트보기에 쓰여진 텍스트입니다

다른 xml 파일이 있습니다 menuxml 여기에있는 항목은 세 가지입니다 메뉴에 표시 될 매개 변수는 id, icon 및 title입니다 이드는 모든 아이템 아이콘이 다를 것입니다

스냅 샷에서 본 아이콘이 있습니다 모든 텍스트는 옵션 메뉴 텍스트의이 타일 이제 자바 코드를 보자 이제 자바 코드이다 메뉴 Inflater는 메뉴 XML 파일을 설정하는 데 사용됩니다 이제 개별 메뉴 항목에 대해 이벤트 처리가 수행됩니다

스위치 케이스는 지금이 경우에 사용됩니다 버튼 중 하나를 클릭하면 토스트가 나타납니다 이것은 토스트 아래의 스위치 케이스 텍스트입니다 북마크가 선택되었습니다 즉,이 텍스트와 함께이 토스트가 나타나는 버튼 중 하나를 클릭하면 이것은 토스트의 텍스트이므로 에뮬레이터에서 출력을 보도록하겠습니다

안드로이드 응용 프로그램 이제 메뉴 응용 프로그램의 출력입니다 에뮬레이터 메뉴를 클릭하여 메뉴 항목 표시 이 세 가지 옵션을이 메뉴 버튼에서 클릭합니다 이것은 menuxml 파일에서 본 항목 아이콘입니다 이제 버튼 중 하나를 클릭하면 토스트를 얻습니다

이것은 축배입니다 메뉴를 클릭하면 다시 나타납니다 도움말 도움말이 선택되었다고 가정하면이 토스트가 나타납니다 이제 이것은 옵션 메뉴에 관한 모든 것입니다 이제 팝업 메뉴의 코드를 보도록하겠습니다

이제 이것이 우리가 팝업 메뉴를 가지고있는 xml 파일이고, 텍스트 뷰가 정의되어 있습니다 여기 수평선에 대한 선형 레이아웃 에뮬레이터에서 볼 수있는 옵션 사이에 나타납니다 다시 3 개의 텍스트보기 이것은 그래픽보기입니다 이것은 menuxml 파일 검색 새로 고침 및 공유입니다

이들은 menuxml 파일에 표시 될 세 항목입니다 이제 mainxml 파일을 볼 수 있습니다 이것은 main

xml의 그래픽보기입니다 파일 그래서 팝업 버튼입니다 그리고 버튼은 자바 코드를 보자 자바 파일 인 Inflator 팝업 창과 팝업보기가 선언되었습니다 여기 Inflator와 popup이 정의됩니다 이것은 쇼 팝업 방법입니다

팝업 버튼 우리는 menulayout 파일 int 우리가 본 세 항목을 참조하십시오 이제 화면에 나타납니다 이것은 균일 한 처리입니다 그 팝업 창은 길이가 미안합니다 프로그래밍 방식으로 완료되는 팝업 창 xml 파일이 아니라 메소드 중 하나 이들은 방법 세 가지 방법을 클릭 한 번 클릭 두 번 세 번 클릭하십시오 이 메뉴 버튼을 클릭하면 세 가지 옵션이 표시됩니다

이 옵션은 세 가지 옵션을 활성화하는 방법입니다 이제 옵션 중 하나를 클릭하면 토스트가 나타납니다 3 가지 방법으로 3 가지 옵션을 토스트에서 검색 결과 리턴 이제는 에뮬레이터의 출력을 보자 이것은 팝업 메뉴의 출력이다 우리가 버튼을 클릭 할 때 에뮬레이터 세 가지 옵션이 가능하며 xml 파일에서 볼 수있는 선형 레이아웃 하나 main

xml sorry menuxml가는 선에 대한 선형 레이아웃 그리고 얇은 선은 이것 1 개의 백색의 선이다 이것은 스타일의 종류 다 이 모든 버튼을 클릭 할 때 이 세 가지 옵션은이 옵션 중 하나를 클릭하여 나타납니다 도청 검색이 토스트가 나타납니다 확인 이것은 모두 팝업 메뉴에 관한 것입니다 지금 다음 주제를 여기에 고토하고 토스트는 끝났어