안드로이드 액티비티 전환시 이미지 뷰 애니메이션

이번 비디오에서는 액티비티 내의 이미지 뷰를 다음 액티비티로 자연스럽게 넘기는 방법을 설명합니다 우선 아무것도 없는 빈 액티비티를 사용하여 프로젝트를 생성하였습니다

미리 준비한 이미지 세장을 프로젝트의 drawable 폴더에 넣고요, 보시다시피 이미지 세장이 잘 들어가 있습니다 세장의 이미지를 리니어 레이아웃을 사용하여 메인 액티비티에 표시하겠습니다 세장의 사진이 잘 표시되는지 프리뷰 기능을 사용하여 체크하고요, 가운데로 정렬을 하겠습니다 자, 이제 세장의 이미지가 잘 표시되었으니, 각 이미지를 클릭했을 때 호출할 리스너를 걸도록 하겠습니다 이미지가 클릭되면 해당 이미지의 아이디를 사용하여 해당 이미지의 리소스 아이디를 가져옵니다

이미지 리소스 아이디가 구해지면 이것을 사용하여 다음 액티비티의 이미지 뷰에 표시하도록 하겠습니다 이미지를 표시할 포토 액티비티를 시작하기 전에 얻어 온 리소스 아이디를 인텐트에 넣어 전달해서 포토 액티비티가 사용하도록 합니다 포토 액티비티를 만들고 메인에서 클릭한 이미지가 표시될 이미지 뷰를 상단에 만듭니다 리소스 아이디를 만들고 포토 액티비티의 이미지 뷰의 소스로 지정을 합니다 잘 동작하는지 봅시다

세장의 이미지 중에 하나를 클릭하면 다음 포토 액티비티 상단에 클릭한 이미지가 표시됩니다 잘 동작하는군요 이제 클릭한 이미지가 부드럽게 넘어 가도록 하겠습니다 제일 먼저 옮겨 가게 될 목표 이미지 뷰에 트랜지션 이름을 지정해야 합니다 여기서는 "photo_transition"이라고 하겠습니다

두번째로 액티비티 옵션을 만들어서 메인 액티비티의 트랜지션이 시작되는 이미지뷰와 포토 액티비티의 종료되는 이미지 뷰를 지정합니다 이렇게 시작 이미지 뷰와 종료되는 이미지 뷰의 트랜지션 이름을 지정하면 두 이미지가 부드럽게 전환됩니다 마지막으로 만들어진 액티비티 옵션을 인텐트에 번들로 넣어 주고 포토 액티비티를 시작합니다 잘 되는지 살펴 봅시다 보시다시피 세장의 이미지 중 하나를 클릭하면 다음 포토 액티비티로 자연스럽게 전환되는 것을 볼 수 있습니다

Simple Student Information System

단순한 학사 관리 시스템입니다 id와 pw를 입력 후 로그인 버튼을 누르면 접속 요청을 하게 됩니다

테스트 용으로 비밀 번호가 틀리게 입력 되는 것을 보여주기 위해 EditText를 사용했습니다 실제로는 절대로 사용 하지 말아야 하죠 메인 화면 입니다 학번을 조회 합니다 년도 4자리를 입력 하면 검색이 진행 됩니다

검색 결과 입니다 첫번째 홍길동1 학생을 선택 했습니다 수정 버튼을 누르게 되면 등록 및 수정 화면으로 전환 되고, 선택한 학생의 정보가 화면에 출력됩니다 수정을 하겠습니다 학생 이름이 홍길동 1에서 홍길동으로 변경합니다

마찬가지로 학과명, 영문명을 변경 후 등록버튼을 누릅니다 등록버튼을 누르게 되면 db에 해당 정보를 update를 합니다 방금전 수정한 학생 정보를 화면에 출력해줍니다 학생을 등록하겠습니다 등록 버튼을 누르게 될 경우 db에 해당 학생 정보를 저장합니다

방금전 등록한 학생의 정보를 출력합니다 이제 제대로 적용이 됐는지 확인 하겠습니다 방금전 추가 등록한 jangGilDong 학생을 검색 하겠습니다 앱종료 버튼을 테스트 하겠습니다 이상으로 과제 시연 영상을 끝내겠습니다

감사합니다

The Best 2D Game Engines in 2018

2D 게임은 가장 큰 단일 게임 시장이며, 이는 최고의 게임 엔진입니다 모바일, 콘솔 또는 데스크톱에서 경쟁 할 수있는 멋진 2D 게임을 제작할 수 있습니다

iOS, Android, 콘솔 또는 Steam에 배포하는 경우이 게임 엔진은 당신의 배려를받을만한 특징과 실적 이 비디오의 끝에서 고려해야 할 엔진, 어떤 유형의 게임인지 알 수 있습니다 엔진은 과거에 만들어졌으며 어떤 장르의 게임이 가장 잘 사용 되었습니까? 우리는 GameDev, AKA TLC #, AKA Abbott 및 Code-stello, AKA The Pineapple DirectX-Press, 이것이 최고의 2D 게임 엔진 목록입니다 다시 오신 것을 환영합니다! Ask Gamedev에 처음 오신 분들은 게임 산업에 대해 알 수있는 비디오를 제작합니다 그래서 당신은 당신의 게임을 고양시키고 다른 사람들을 감동시킬 수 있습니다

당신이 gamedev 여정을하고 있다면 가입을 고려하십시오 우리는 당신을 도중에 도와주고 싶습니다 훌륭한 2D 게임을 만들고 싶습니까? 이 비디오의 엔진 중 하나를 선택하면이 모든 것처럼 잘못 될 수 없습니다 큰 평판을 얻는다 다음 엔진에는 모두 강력한 커뮤니티가 있으며 튜토리얼과 리소스는 온라인으로 충분합니다

당신이 게임을 만들기 시작하게하십시오 Cocos 2D-x로 시작하자 이것은 세계에서 가장 인기있는 2D 게임 엔진 중 하나입니다 코코스가 좋은 부분을 담당 했으므로 iOS 및 Android에서 볼 수있는 모바일 게임의 Cocos는 아시아에서 가장 인기있는 게임 엔진이기도합니다 Cocos2D-x는 오픈 소스이며 Android, iOS, Linux, OS X 등의 크로스 플랫폼입니다

개발자를위한 상세한 설명서가 많이 있으며 광대 한 커뮤니티에서 지원합니다 그것은 Zynga, Glu, Big Fish Games 등과 같은 주요 스튜디오의 개발 프로젝트에서 사용되었습니다 Disney Mobile 등이 있습니다 언어면에서 Cocos2D-x는 C ++, Lua 및 Javascript를 지원합니다 Cocos2d-x에 대한 가장 좋은 소식은 MIT 라이센스하에 있으며 상업용으로 무료라는 것입니다

용도 라이센스 비용이나 로열티가 없습니다 비용 없음 비어 있는 과거의 Cocos2d 게임에는 Hill Climb Racing, Flow Free, Badland가 포함됩니다

다음은 또 다른 대단히 인기있는 게임 엔진 인 Unity입니다 유니티 (Unity)가 대중적인 선택이되어 왔기 때문에 지난 10 년 동안 어떤 엔진도 더 많은 입양을 보지 못했습니다 독립 개발자 용 더 큰 스튜디오에서도 수용하기 시작했습니다 Unity는 크로스 플랫폼이며 Android를 비롯한 거의 모든 플랫폼에서 쉽게 배포 할 수 있습니다

iOS 및 Windows 또한 가상 현실 플랫폼을 지원합니다 프로그래밍 언어로 C #을 사용합니다 화합은 개인적인 용도로는 무료이며 유료 플랜은 월 35 달러부터 시작합니다 유니티 (Unity)는 수많은 인디언들에 의해 사용되어 왔으며 Electronic Arts, Ubisoft, 스퀘어 에닉스 (Square Enix) 등

인기있는 유니티 게임으로는 Pokémon GO, Super Mario Run, Angry Birds 2가 있습니다 우리가 추천하는 다음 2D 엔진은 오랫동안 사용되어 왔으며 수많은 인디언을 도왔습니다 게임 개발 프로젝트를 성취하십시오 우리는 Gamemaker 스튜디오에 대해 이야기하고 있습니다이 스튜디오는 픽업하기 쉬운 인터페이스로 유명합니다 코더가 아닌 게임 개발자에게 탁월한 툴 세트입니다

GameMaker에는 알지 못하게 게임을 만들 수있는 훌륭한 드래그 앤 드롭 인터페이스가 있습니다 코드 작성 방법 그러나 개발을 사용자 정의하려는 경우 Game Maker 언어를 수정하고, 스크립트의 수정, 스크립트 작성, 이벤트, 및 기타 코드 요소 최신 버전 인 GameMaker Studio 2는 기본 라이센스로 39 달러부터 시작합니다 최대 $ 1500까지 "궁극"버전입니다

무료 평가판도 제공됩니다 Spelunky, Hotline Miami, Undertale 등 GameMaker로 만든 멋진 게임이 있습니다 다음은 인기 급상승중인 오픈 소스 엔진 인 Godot입니다 우리는 최고의 게임 엔진에 관한 최근 비디오를 보았습니다 우리는 Godot을 언급하지 않았습니다

코멘트에 Godot 팬들에 의해 호출 위의 카드를 클릭하여 해당 비디오를 확인할 수 있습니다 Godot은 웹, 윈도우, 맥, 리눅스, 안드로이드에 게시 할 크로스 플랫폼 엔진입니다 및 모바일에서의 IOS GDScript는 Godot의 주요 프로그래밍 언어이지만 C #도 지원됩니다

가격에 관해서는 Godot은 오픈 소스이며 상용으로 100 % 무료로 사용할 수 있습니다 목적 면허 또는 로열티를 지불 할 필요가 없습니다 그것은 또한 우리의 최고의 무료 게임 엔진 비디오에 등장했습니다 선택할 수있는 더 많은 무료 엔진을보고 싶으면 해당 비디오를 체크 아웃 할 수 있습니다

이리 Godot로 만든 멋진 게임에는 이름없는 유령의 점과 Godotron이 있습니다 이번 주에 우리의 특색있는 Ask Gamedev 커뮤니티 멤버 게임은 또한 Godot으로 제작되었습니다 동영상을 끝까지 확인하여 확인하십시오 다음 목록은 Construct3입니다 간단한 인터페이스, 끌어서 놓기 기능 및 기본 제공 라이브러리를 통해 Construct3은 훌륭합니다

신속하게 아이디어를 프로토 타이핑 할 수있는 엔진 이 엔진에 대한 가장 멋지고 가장 독창적 인 것 중 하나는 완전히 실행된다는 것입니다 귀하의 브라우저에서! 자산 가져 오기부터 로직 생성, 테스트 및 재생까지 모든 것 게임을 내보낼 수있는 모든 방법 – 브라우저에서 모든 일이 발생합니다 얼마나 편리합니까? Construct3을 사용하면 HTML5로 게임을 웹에 빠르게 내보낼 수 있으며, iOS, Android, Steam, Facebook 등 다양한 플랫폼에서 사용할 수 있습니다 Construct3은 코딩 언어를 사용하지 않으므로 초보자에게 탁월한 옵션입니다! 이 엔진을 사용하는 방법을 배우려면 운이 좋습니다

현재 작업 중입니다 Construct3에 대한 튜토리얼 시리즈 위의 링크를 클릭하여 액션 플랫폼 자습서를 확인하십시오 가격면에서 Construct 3 라이센스는 개인 라이센스의 경우 연간 99 달러부터 시작합니다 그러나 그들은 꽤 포괄적 인 무료 평가판을 제공합니다

editorconstructnet으로 가서 시도해 볼 수 있습니다 Construct 3에서 만든 게임을 시험해보고 싶다면 Scirra에서 무리를 연주 할 수 있습니다 아케이드 마지막으로 2D 엔진을 제작 한 팀의 엔진 인 우리 목록에 계속 남았습니다

25 년 동안 – 예, 우리는 Clickteam Fusion에 대해 이야기하고 있습니다 90 년대 애호가들에게 게임 코딩을하는 방법을 몰랐던 게임 개발자들은 여전히 ​​위대한 것을 가지고있었습니다 크리크 앤 플레이 (Klik & Play), 멀티미디어 퓨전 익스프레스 (Multimedia Fusion Express)와 같은 옵션은 Clickteam의 훌륭한 사람들 덕분입니다 빠른 속도로 오늘, 그리고 그들은 여전히 ​​Clickteam 퓨전 25

이전 반복과 마찬가지로 Clickteam Fusion 25는 2D 제목과 기능을 위해 설계되었습니다 드래그 앤 드롭 인터페이스 및 시각적 프로그래밍을 제공합니다 이를 통해 Windows, Android 및 iOS를 포함한 플랫폼 용 게임을 만들 수 있습니다 Clickteam Fusion 2

5가 포함 된 Construct3과 마찬가지로 복잡한 프로그래밍 언어도 없습니다 배우다 가장 유명한 인디 게임 중 일부는 Clickteam Fusion을 사용하여 만들어졌습니다 Freddy 's에서 Hero, Freedom Planet 및 Five Nights가 있습니다 99 달러에 Steam에서 Clickteam Fusion 2

5를 구입할 수 있습니다 현재 스팀에 대해 매우 긍정적 인 평가를 받았으며, 376 스팀 리뷰 중 90 %가 스팀 리뷰를 제공합니다 엄지 손가락 그리고 이제 우리는 엄지 손가락을 내고 있습니다이 멋진 멋진 아케이드 게임 인 Moon Cheeser에, Ask GameDev 커뮤니티 회원 Pigdev Studio에 의해 제작되었습니다 Moon Cheeser는 달을 뛰어 다니는 마우스처럼 놀아주는 끝이없는 주자입니다

치즈의 우리는이 게임의 아트 스타일을 실제로 파헤칩니다 우리가 가장 좋아하는 YouTube 중 하나를 생각 나게합니다 채널, Kurzgesagt Itchio에서 Moon Cheeser를 다운로드하고 재생할 수 있습니다

새로 제작 된 게임 코드가 포함 된 개발자 번들을 다운로드 할 수도 있습니다 – GDscript (Godot의 스크립팅 언어) 및 모든 게임 자산 이번 주에 끝났습니다 우리가 좋아하는 2D 게임 엔진을 놓쳤습니까? 그렇다면 의견에 대해 알려주십시오 보고 주셔서 감사합니다! 우리는 Gamedev에게 묻습니다 우리는 어떻게 게임 개발 비디오를 만들 수 있습니까? 게임을 높이고 다른 사람들에게 영감을 불어 넣으십시오

매주 새로운 콘텐츠를 게시하므로 구독을 고려하십시오 새 동영상을 사용할 수있게되는 즉시 알려줍니다

Android Studio 入門【 画面分割① 】~均等分割~ ★★☆☆☆

3 분에서 배우는 Android Studio에서 화면 분할 ① 균등 분할입니다 이번 동영상도 시리즈 것으로 총 4 회에 RPG 스타일의 화면 제작을 공부합니다 RPG라고 말하는 것보다, 화면 분할 네요! 큰 이미지와 작은 이미지를 나란히 분할 네요 첫 번째 동영상은 "2 개의 이미지를 균등하게 표시하는"입니다 비교적 간단하기 때문에 바삭 바삭 수 있으면 좋을까 생각합니다 "가로 세로 화면 대응」이라고 써 있습니다 만 【스 마포】의 화면이 "수직 또는 수평에서도 나름대로 보이는 '만들기를 목표로합니다 수직 또는 수평으로 화면 크기가 달라도 나름대로 것 같아 먼저 이번 시리즈에서 사용되는 이미지를 저장합니다 하나씩 컴퓨터에 저장하십시오 적, 배경, 플레이어의 총 6 개 네요 저장이 끝나면 새에 들어가고 싶은 생각합니다 네, 그럼 "Start new Android Studio Project"를 선택하고 Application Name은 RpgGame "next"→ "next"→ "Empty Activity"→ "next"→ "Finish" 네, 새로운 응용 프로그램이있었습니다 이번에는 MainActivityjava는 사용하지 않습니다 activity_mainxml을 열고 미리보기도 열어주세요 오류가 발생 분은 템플릿 변경 이미지를 내장 것이 Project → app → src → main → res → drawable에 방금 저장 한 6 장의 이미지를 "ctrl + 드래그 드롭"으로 복사 이제 준비가되었습니다 사이트의 "레이아웃 해설"을 참조하십시오 완성형의 레이아웃을 설명하고 있습니다 이번에는 배경 이미지가 있고 캐릭터를 거듭에는 레이아웃이 복잡합니다

"RelativeLayout을 사용하면 중첩이 완화" 처음에는 RelativeLayout 위에 ImageView를 얹는다 배경 이미지의 것이군요 RelativeLayout에 배경 이미지를 얹어 또한 위에 싣는 형태로 LinearLayout을 얹는다 LinearLayout을 올리면 "이미지를 수직 배열」에 있습니다 좀 자세한 내용은 생략시켜줍니다 때문에 다양한 만져보세요 여기에서 보길 원하는 것은 레이아웃과 이미지 겹치기입니다 에서는 실제로 만들어갑니다 우선 배경 이미지의 표시입니다 첫 번째 TextView를 제거 대신 배경 이미지 ImageView 배치 세로도 가로도 match_parent 이미지 지정된 src는 "@ drawable / back" 이제 배경 이미지가 설정됩니다 여백을 제거합니다

RelativeLayout의 padding 제거에서 사라집니다 그리고는 ImageView 자체에 scaleType (표시 형식)을 지정합니다 centerCrop에서 빈틈없이 표시됩니다 여기에서 "Ctrl + Alt + L"로 정리합니다 디자인 탭에서 확인하면 RelativeLayout에 ImageView가 겹쳐 있습니다

떠 나머지 LinearLayout과 사진 2 배치 끝까지 진행하고자합니다 첫 번째 LinearLayout에 들어가는 곳은 ImageView와 RelativeLayout 사이를 줄로 표시 LinearLayout을 입력 세로도 가로도 match_parent <LinearLayout ~ 중략 ~> </ LinearLayout> 사이에 ImageView를 배치 몬스터 네요 몬스터의 높이도 가로도 match_parent src보기 이미지는 "@ drawable / m0" 이제 몬스터가 표시되었습니다 동일한 일을 다시 입력 대체로 완성 인데요 가로 세로, match_parent src는 "@ drawable / p0" 이제 거의 OK예요하지만, 불행히도 추가 한 플레이어가 표시되지 않습니다 이유는 "몬스터가 화면 가득 표시되어있는 '부터 플레이어는 화면에서 벗어나 있습니다

그것을 나타내는 것처럼 LinearLayout에 오류가 있습니다 "어떻게하면 좋을까?"라고 말하면 여기에 웨이트를 넣습니다 2 개의 ImageView에 w를 입력하면 layout_weight가 나오므로 숫자 1을 넣어 준다 플레이어에 android : layout_weight = "1"을 입력 이제 1 대 1로 표시됩니다 지금 일률적 인 것은 LinearLayout에 orientation가 설정되지 않은 때문 이지요

줄 바꿈하여 android : orientation = "vertical"를 입력 이제 세로 정렬됩니다 "Ctrl + Alt + L"에서 소스를 구성합니다 보고 싶지는 이미지에 붙인 match_parent와 weight입니다 사이트 하단에 그림이 있기 때문에, 그래서 설명합니다 2 개의 이미지에 match_parent, match_parent, weight⁼ "1" 로 설정하면 1 대 1로 표시됩니다

플레이어의 이미지를 코피 늘려 주어도 3 개의 이미지가 1 대 1 대 1로 표시되는 물론 4 가지로 늘려도 비율이 갖추어져 표시됩니다 깊이 생각하지 않고 "match_parent, match_parent, weight⁼"1 "로 비율을 지켜주는"으로 OK 반 암기으로 OK 네요 그러나 숫자를 바꾸면 잘 표시되지 않습니다 즉 "5 장 1 '등은 실패합니다 그 대처법은 다음의 동영상에서 설명합니다

에 만약 잘되지 않는 경우 사이트 XML을 복사하여 Android Studio에 붙여 넣기 1 대 1로 표시되는 것입니다 다음 동영상 2 체 1 등 비율을 바꿔보고자합니다

잘 부탁드립니다!

Improving Android Studio Performance on Memory-Constrained Machines

프레드 (FRED CHUNG) : 안녕하세요, 안드로이드 개발자 인 Fred입니다 관계 팀

Android Studio 개선에 대해 말씀 드리겠습니다 메모리가 제한된 컴퓨터의 성능 Android Studio에는 많은 기능 개발자가 함께 제공됩니다 현대 IDE에서 기대 예를 들어, lint 검사는 오류 식별에 도움이됩니다 편집기에서 소스 코드를 타이핑 할 때

이러한 개발자 생산성 기능 증가 된 자원 요구 사항을 의미합니다 호스트 운영 체제에서 실질적으로 복잡한 다중 모듈 작업을하는 개발자 프로덕션 프로젝트에는 일반적으로 8 기가 바이트 이상의 RAM이 있습니다 그러나, 간단한 프로젝트로 작업한다면 예를 들어 4 기가 바이트의 RAM이있는 메모리가 부족한 컴퓨터에서 또는 더 적은 것, 우리는 몇 가지 것들을 겪을 것입니다 개발 경험을 조금 더 부드럽게 만들 수 있습니다

최소 사양에 대한 명확한 답은 없습니다 Android Studio를 실행해야하므로 많은 요인 분명한 첫 번째 단계는 불필요한 애플리케이션을 닫는 것입니다 운영 체제에서 20 개의 웹 브라우저 탭을 열어 둔 사용자에게는 유감입니다

바이러스 백신 소프트웨어가 실행중인 사용자의 경우 컴퓨터에서 IDE에서 생성 한 빌드 파일 실시간 바이러스 검사를 실행할 수 있습니다 이것은 시스템 자원을 위해 경쟁합니다 가능하면 바이러스 스캐너 구성으로 이동하십시오 프로젝트 빌드 출력 디렉토리를 제외하십시오 Android Studio에는 기본 최대 Java 힙이 있습니다

크기는 12 기가 바이트입니다 컴퓨터의 메모리가 부족하면 그에 따라야합니다 기본 힙 크기를 512 메가 바이트 정도로 줄입니다 다음을 사용하여 원하는 값을 설정할 수 있습니다

studiovmoption 설정의 xmx 키 파일을 다운로드하십시오 이 값을 줄이면 지형지 물에 대한 자원의 양 축소 Android Studio 내에서 예를 들어, 레이아웃 편집기의 성능이 영향을받을 수 있습니다 이제 핵심 구성 요소 중 하나 인 Gradle에 대해 알아 보겠습니다 Android Studio에서 Gradle 및 Android의 최신 버전으로 업데이트 최신 성능 보장을위한 Gradle 용 플러그인 최적화는 프로젝트에서 사용할 수 있습니다

예를 들어 30에서는 점진적 패키징을 개선했습니다 AAPT2 여기에있는 스 니펫은 Android Studio 30 베타 버전

특정 설치된 버전은 다른 값 집합이 필요합니다 다음은 여러 기술에 대해 이야기하겠습니다 타락한 지원과 관련있다 최소한의 실행 만 남겨 둡니다 이러한 기술 중 일부는 코드 품질을 희생시키면서 성능을 향상시킬 수 있으며, 그래서 당신은 정말로주의해서 사용해야합니다

Android Studio는 절전 모드를 제공합니다 켜져 있으면 번호가 비활성화됩니다 린트 검사를 수행하는 백그라운드 작업, 코드 완료 등 너 한테 시간이있을거야 비활성화 된 작업을 수동으로 실행하려고합니다

예를 들어 린트 체크를하십시오 명령 줄을 통해 수동으로 실행할 수 있습니다 여기에 표시된대로 일부 사용자는 Android 에뮬레이터를 사용하고있을 수 있습니다 평균적으로 2 기가 바이트의 RAM을 소비합니다

가능한 경우 실제 Android 기기를 사용합니다 이렇게하면 컴퓨터의 리소스 부하를 줄일 수 있습니다 또는 에뮬레이터를 사용해야하는 경우, 에뮬레이트 된 RAM을 고려해보십시오 컴퓨터에서 가상 메모리 사용을 줄입니다 이 구성은 고급 설정에서 찾을 수 있습니다

가상 장치 구성에서 Gradle 오프라인 모드는 대역폭이 제한적인 사용자를위한 기능입니다 빌드 종속성 다운로드를 금지합니다 부작용으로이 문제가 개선 될 수 있습니다 낮은 RAM 머신에서의 성능 백그라운드 처리량을 줄입니다

Android Studio는 최적화를 제공합니다 여러 모듈을 병렬로 컴파일 할 수 있습니다 RAM이 적은 컴퓨터에서이 기능 성능에 부정적인 영향을 미칠 수 있습니다 컴파일러 설정 대화 상자에서 비활성화 할 수 있습니다 이 비디오가 당신에게 어떤 아이디어를 줄 수 있기를 바랍니다

낮은 RAM 환경에서 Android Studio를 미세 조정하는 방법 개발 경험을보다 원활하게 만들어줍니다 자세한 내용은 Android 개발자 사이트를 확인하십시오 지켜봐 줘서 고마워 [음악 재생]

Como Instalar Android Studio – Aprendiendo Android 02 – @JoseCodFacilito

안녕하세요 어떻게은 세계? 여기에 내가 도구 버전 안드로이드 개발 연구를 설치하는 방법을 설명합니다이 자습서와 함께, 안드로이드에 프로그램합니다 그럼 설명, 당신은 당신의 컴퓨터 세 가지에 필요 : (물론) 자바; JDK는 있지만 이미 자바 JDK가 그러나 헤이, 나는 두 가지를 얻는 방법을 설명 할 것이다; 안드로이드 스튜디오 설치

그것은 간단합니다, 당신은 당신의 브라우저에 가서 당신이 구글을 넣어 "자바를 다운로드 할 수 있습니다"; 첫 번째 옵션은 (소개)를 입력 줄 것, 떠날 것이다; 이미로드 한, 당신은 자바 무료 여기에서 다운로드 제공, 당신은 것입니다 그래서 간단한 자바 파일; 여기에 당신이 그를, 다운로드 "동의 함"을주고, 여기에이 파일이 있습니다 설치는 매우 간단합니다 그것은 자바의 전형적인 : 다음, 다음, 다음과 그게입니다 결국, 아주 성가신 때문에 당신이하는 "도구"를 설치하도록이 "확인"이 표시 하지만 이미 의 JDK (자바 개발 키트), 다음; 그것은 여기입니다 "다운로드 JDK를"쓰기는 오라클의 페이지로 이동합니다, 당신은 여기에서 제공합니다

여기에이 옵션이 아닌이 일을 표시해야하지만 순수 JDK는 "넷빈즈"없이이 여기에 내가 말해 본 계약을 수용해야 사용하는 운영 체제; 내 경우, 나는 64 비트 Windows (윈도우 64)가; 당신이 다운로드 여기를 제공, 다운로드가 시작됩니다, 그들은 180메가바이트 (메가 바이트)처럼 여기에이 파일이 있습니다 음, 그게 전부 야하고 설치합니다 그리고 마지막으로 안드로이드 스튜디오입니다 "developerandroid

com"공식 페이지 (좋아 좋아)입니다, 구글에서 "다운로드 안드로이드 스튜디오"에 배치 뚱보 (밀도)는, 당신은 공식 웹 사이트로 이동 여기에 직접 버튼 "다운로드"(이 큰 경우) 다운로드 9백메가바이트, 여기에서 그것을 뭔가 거의 1기가바이트 (기가 바이트)입니다했다 괜찮아? 모든 준비가되어 있습니다; 우리가 설치됩니다 이미 설치되어 있기 때문에이 사람은 여기가 "다음, 다음, 다음"내가 말하는 것입니다 매우 쉽게, 설치하지 여기이 사람은 JDK, 우리는 시작됩니다 우리는 어떻게 볼 수 있습니다; 나는 이것이 우리가 안드로이드에서 편집하는 데 필요한 도구임을 설명한다 이클립스는 널리 퍼져 우리가 가지고있는 또 다른 옵션입니다

그러나, 나는 안드로이드를 사용하는 것을 선호합니다 나는 그것을 설치하고 이전 버전을 가지고, 나는 처음의 설치를 완료해야합니다 한편, 난 당신을 설명합니다 우리는 안드로이드 Studio 또는 Eclipse를 사용하는 옵션이 있습니다 이 비디오는, 내가 안드로이드 스튜디오 선택한 설치 문제입니다 때문에 내가, 이클립스를 설명 할 것입니다, 아마에에게 미래 동영상 설명 할 것 다른 편집기

문제는이 도구가 우리를 잘 제공한다는 것입니다; 또한이 안드로이드 스튜디오, 보조적 우리가 설치됩니다 우리가, 우리가 그것을 사용하려는 여부하는 구성 요소 또는 안드로이드의 요소를 관리 할 수있는 도구입니다 SDK (소프트웨어 개발 키트), "무엇"현재 시장에 나와있는 장치들의 버전 등; 다음 SDK와 함께 우리는 장치에 대한 일정을 선택할 수 있습니다 현대 이상; 제품은 또한 당신의 virtualizas와 도구입니다 AVD (안드로이드 가상 장치)를 사용할 수 있습니다 안드로이드 장치는 결과가 될 것입니다 무엇을 볼 수 있습니다 글쎄, 지금은이 종료 한 것으로 가정한다 그것은 성공적으로 자바를 설치했습니다 그리고 내가 무슨 짓을하는 것은 괜찮아, 여기에서 설치하는 것입니다? 나는 다음에, 다음에 주어진하지만 이전 버전을 가지고 나에게 이야기했습니다 나는 그런 것들을 설치하지 않습니다

그것은 (밀도) 뚱보 파일 인 경우는 JDK에 와서; 이는 자바 개발 키트이다 그것은 우리가 자바 언어로 프로그래밍 할 수 있습니다 것입니다 이는 안드로이드에 사용됩니다 다음, 다음, 다음 : 그들은 이미이 매우 빠르고보고있다, 그것은 단순히이다 어떻게 자바의 많은 안드로이드에서 프로그램 알아야합니까? 음, 물론 당신이 자바 문법의 기본 지식이 있어야합니다, 연산자, 데이터 타입, 클래스 상속; 하지만 자바보다 더, 당신이 필요한 것은 너무 많은 자바이 아니라 (OOP)을 프로그래밍 객체; 안드로이드 때문에 그는 상속, 클래스, 객체와 많은 작품; 프로그래밍 로직 예를 들어, C ++ 프로그래밍에 종사 한 경우 즉,, 당신은 코드 루프를 최적화, 함수의 개념을 동화 한 모든 큰; 잘, 잘, 잘 자바를 알 필요가 없습니다

이미 어느 정도 그런 종류의 물건을 사용하고 있기 때문에 당신은 파를 잡을 것입니다 그리고 그렇게 복잡하지 않습니다 하지만 여전히, 당신은 자바와 필요 이 JDK 이제 우리는 전형적인 대상 폴더를 선택해야합니다 우리는 "다음"을 제공합니다

왔다? 이제 다시, 자바를 설치하지만, 나는 전에 완료 자바가 설치되어 있는지 확인하지 않았다 그리고 마지막으로, 모든 이상입니다 우리는 우리가 JDK를 가지고 닫습니다 네 지금 요, 안드로이드 스튜디오는 IDE (통합 개발 환경) 개발 도구입니다 : 우리는 큰 프로그램과 함께 할 것입니다 이 시설 당신은 좀 더 시간이 걸릴 경우, 처음 적어도, SDK를 업데이트 할 때하는 시간, 완벽하기 때문에 염두에 두어야 할 수있는 컴퓨터, 설치 또는 안드로이드 프로그래밍의 다른 요소를 사용하도록 다운로드 된 구성 요소가 그렇게하지 당신은 다운로드를 할 수 있습니다

처음 이제까지는 설정을 걸을 그다지 많은이 대기 시간,하지만 대기 시간이 걸립니다 그리고, 때때로 일반적인 업데이트 있도록 도구가 최신이다 우리는 안드로이드 스튜디오를 설치합니다, 우리는 볼 "다음"(다음)을 얻었다? 우리는 내가 말했다 AVD를 설치하는 곳이다; 가상 장치 및 방법을 여기에 설명에 설명 SDK는 사용되는 플랫폼입니다 도구 등이 있습니다 우리 모두 "다음"여기에, 수락; 이 SDK가 (이 좋은 알고하는) 위치 할 경로입니다 우리는 설치하고 전체 프로그램을 "설치"를 시작합니다

당신은 전에 도구를 필요한 모든 구성 요소를 설치 한 후 SDK 추출 그것은 당신의 컴퓨터의 속도의 문제이며, 빠르거나 느린 이동,하지만 당신은 인내심을해야합니다 많은 것들 SDK와 함께 사용되는, 우리는 우리가 이러한 구성 요소의 여러 가지, 다음 좋은 사용이 안드로이드 프로그래밍 과정에서 볼 수 그것은 잘 될 것입니다 설치가 완료되면 우리는 "다음"다음 "마침"(끝)을 얻었다 즉시, 우리는 안드로이드 Studio를 시작합니다 이 첫 번째 시작에서, 나는 우리가 우리가 개발하고자하는 테마 (배경)을 선택할 수 있습니다 생각, 우리는 어두운 피사체를 넣어 또는 수 그것은 기본 배경 (I 더 어두운처럼) 분명 온다

여기에 성경이 우리에게 말하는 것은입니다 : 우리는 안드로이드의 다른 버전이 있다면, 이러한 설정에 나는, 글꼴 크기, 색상, 사용자 정의의 순서로 그 종류로, 이전, 또는 다른 말을했다 대한은 우리는 이전 버전에서 가져올 경우 이 경우,이 팀은 적이없는 내가 넣어 여기에 이전 버전을, 없었습니다 이전 버전 당신이 다시 설치하고있는 경우에 당신은 모든 이전의 "설정"을 잃을 필요가 없습니다 그런 다음 다운로드 시작 SDK 구성 요소; 이것은 내가 매우 느려질 수 있습니다 당신을 말할 것입니다 당신이 생각하는 경우 외에, 설치 프로그램은 내가 타락 한, 나는 경우가 인식 사용 가능한 최신 버전; 이 다운로드하려고 다운로드 페이지로 이동하면 최신 것을 의미하지 않는다; 사실 구글에서 내가 전에 당신을 보여 주었다 링크,이 버튼을 다운로드 버전은 항상 가장 현재 또는 최근 없습니다

이 경우에도 그것은 우리에게 일어난, 우리는이 버전을 다운로드, 우리는 설치되어 있지만 지금보다 최신 업데이트가 나에게 이야기했다 이것은 아주 좋은 것입니다 당신은 도구가 자동으로 경고가 있고, 여기에 당신은 "업데이트"(업데이트)를 제공 할 수 있습니다 나는 나는 SDK을 다운로드 할 수 없기 때문에 자체에서이 조금 느린 좋은 초고속 인터넷이되지 ​​않습니다; 그러나 헤이, 난 기다릴거야, 그리고 난 당신이 다음 단계로 표시됩니다 일단 매우 느린 과정이다 SDK 다운로드 구성 요소, 우리는 가상 장치가 할 수있는 옵션을 생성합니다이는 우리를 위해 무엇인가? 당신이 안드로이드로 프로그래밍하는 경우를 들어, 당신이보고 싶어하거나 것입니다 방법을 것입니다 당신이 응용 프로그램은 당신이 계획하고 논리적 경우 잘 작동하는지, 당신은 결과를 볼 수 있습니다 당신은 당신의 전화로 직접 작업을 수행 할 수 있습니다,하지만 당신은 자신의 통합 된 도구로, 사실상 여기에서 할 수있는 안드로이드 스튜디오

당신은 당신이 사용할 장치, 그리고 그런 종류의 물건을 만들 것 안드로이드 원하는 어떤 종류를 선택할 수 있습니다 AVD (안드로이드 가상 장치)로, 당신은 할 수 있습니다 보시다시피 그것은 여러 장치 (휴대 전화)에 대한 설치됩니다 당신은 "마침"(마침)를 제공합니다 그리고 안드로이드 스튜디오의 메인 윈도우가 이미 설치되어있는 우리가 나타납니다

이제 우리는 그것을 사용할 수 있습니다 이 버전을 업데이트하려면, 여기에 당신이 버튼이 여기에 당신은 또한 사용 가능한 버전이 있는지 확인할 수 있습니다, "지금 업데이트 확인"을 가지고, 다음 그냥 사용하기 시작 나는 여기에 설치되는 영상을 둡니다 그리고 다음 동영상 나는 프로젝트를 생성하는 방법을 설명합니다 나는 당신이 그것을 좋아 희망, 그래서 당신은 (내가 좋아하는) 공유를 "좋아요"를 제공하거나 구독, 다음에 볼 수 있습니다

인사

Installation of Android Studio V3.0.1 || Android Studio Tutorial

오늘 모두를 환영합니다 우리는 android studio를 설치하는 방법을 보게 될 것입니다

우리는 자바 개발 키트가 필요합니다 설명 다운로드 버튼을 클릭하고 사용권 계약에 동의하십시오 적합한 패키지를 선택하십시오 지금 32 비트 용 64 비트 버전을 설치하고 있습니다 링크가 설명에서 제공됩니다

다운로드 프로세스는 건너 뜁니다 다운로드가 완료되면 시간을 절약해서 다운로드하도록 강요합니다 우리는 공식 페이지로 이동합니다 안드로이드 스튜디오 그 링크는 설명에서 30 포인트 1로 주어 지는데 이는 최신 버전의 Android 스튜디오가 다운로드 버튼을 눌렀습니다 라이센스 동의서를 수락하고 다시 다운로드하십시오

다운로드 부분을 건너 뜁니다 그래서 우리는 시간을 절약하기 위해 앞으로 감기로 달릴 것입니다 두 파일이 거의 다 다운로드되었으므로 하나씩 설치하겠습니다 그래서 디렉토리로 가서 우리가 자바를 설치하기 시작할 파일을 찾는다 관리자로 파일을 만들고 항상 동일한 절차를 수행하십시오

그래서 여기에 설치 프로그램이 다음에 치고 모든 구성 요소를 설치하고 다시 설치합니다 다음에 히트 Installer가 파일을 처리 한 후 처리 할 때까지 기다린다 설치 경로의 경우 경로를 변경하면 기본 경로를 사용하십시오 나중에 안드로이드 스튜디오에서 사용되기 때문에 기억하십시오 경로를 바꾸지 않는다

괜찮아 자바가 완전하게 설치 되었으니 지금 창을 닫을거야 Android 스튜디오를 설치하려면 파일을 찾아 관리자로 실행하십시오 항상 다시 한번 동일한 설치 과정이 있으므로 모든 것을 빨리 감습니다 설치가 완료되었습니다

지금 Android Studio를 시작하십시오 나중에 상자를 열지 않으면 안드로이드 스튜디오와 소프트웨어 개방 시간은 시스템에 따라 다를 수 있으며 필요한 파일을 다운로드하기위한 인터넷 연결이 표준 설정을 선택하고 당신이 좋아하는 주제를 선택하세요 밝거나 어둡습니다 자, 여기 다운로드 부분이 있습니다 Android Studio는 인터넷이 한 번만 다운로드되도록 요구합니다

안드로이드 스튜디오를 열 때마다 연결이 필요하지 않습니다 버튼을 클릭하면 자동으로 모든 구성 요소가 자동으로 다운로드되므로 파일을 다운로드 한 후 파일이 다운로드 될 때까지 기다리십시오 귀하의 안드로이드 스튜디오는 언제든지 사용할 준비가되어 있습니다 필요한 인터넷 연결 파일이 다운로드되어 Android Studio를 사용할 준비가되었습니다 다음 비디오에서 우리는 Android Studio를 사용하여 기본 앱을 만드는 방법을 보여줍니다

Android Developer Story: Zabob Studio — Growing revenue with Google Play (Korean)

내 이름은 권대현 나는 현재 게임 회사를 운영하고있다

'Zabob Studio' 우리 회사는 단 두 명의 회원, 나의 아내 그리고 나 자신 나는 내 아내와 결혼했을 때이 회사를 설립했다 2013 년 11 월에 이전 회사에서 물러났습니다 우리는 지금까지 약 10 게임을 만들었습니다

그 중 대표 게임은 "ZOMBIE 판단 데이 (JUDGMENT DAY) '와'인피니티 던전 (INFINITY DUNGEON) '을 선보였습니다 마케팅 예산을 많이 쓰지는 못했지만, 우리는 그것을 홍보하려고합니다 나는 모든 개발자가이 문제에 직면 해 있다고 생각한다 우리는 저렴한 비용으로 게임을 효율적으로 마케팅 할 수있는 방법을 찾으려고 노력했습니다 훌륭한 아이디어는 우리가 개발하거나 경쟁 할 여력이 없기 때문에 우리의 경쟁 우위입니다

대규모 게임 우리는 알아 내기 힘들게 노력했습니다 어떤 게임 유형이이 아이디어를 기반으로이 경쟁에서이기는 데 도움이 될 것입니다 다행히도, 우리 게임은 "Play Picks" 글로벌 사용자에게 게임을 홍보하는 데 도움이되었습니다 Google의 지원을 받아 약 2 개월 동안 약 40 만 건의 다운로드를 기록했으며, 우리의 판매 수익은 약 1 억 4 천만에 도달했습니다

원 물론, 한국은 우리 게임을 가장 좋아했습니다 그러나 다운로드 및 판매 수익은 다른 미국을 포함한 지역도 약 60 %를 차지했다 Android 게임 개발의 장점 중 하나는 Google Play 게임 서비스입니다 이 서비스를 통해 개발자는 필요한 즉시 사용할 수있는 기능에 쉽게 액세스 할 수 있습니다

순위, 업적 및 퀘스트를 포함한 게임, 물론 우리는 서비스에서 많은 혜택을 얻었습니다 Google Play 개발자 콘솔에서 다양한 통계를 확인할 수도 있습니다 가장 중요한 부분은 개발자가 개발자에게 직접 응답 할 수 있다는 것입니다 리뷰, 그리고 이것은 확실히 콘솔을 차별화합니다 다른 사람들로부터

"ZOMEBIE JUDGMENT DAY"의 성공과 Google Play 스토어의 'INFINITY DUNGEON'으로 많은 돈이되었습니다 따라서 우리는보다 합리적인 환경에서 게임을 개발할 수 있다는 것에 만족합니다 게임의 완성도를 보장하는 것이 중요하지만, 어느 정도 게임이 시작되면 게임을 빨리 풀어 놓는 것이 유리합니다 완료 및 사용자로부터 피드백을 받고 업데이트 그것의 서비스를 개선하는 것을 계속한다 Zabob Studio가 "커플 러닝" 이 전략을 추구함으로써 글로벌 게임 개발자

Improve app performance with Android Studio Profilers (Google I/O '18)

[음악 재생] ESTEBAN DE LA CANAL : 제 이름은 에스테반입니다 저는 Android Studio의 프로파일 링의 선두 주자입니다

오늘은 우리가 가진 모든 새로운 기능을 보여 드리겠습니다 Android Studio 32 및 Google의 일부 기능 프로파일 러의 Android Studio 31에서 시작되었습니다 권리

그래서 저는 세션의 대부분에서 데모를 할 것입니다 그러나 이전에 프로파일 러를 본 적이없는 경우에 대비하여 – 아이디어를 얻으려면 얼마나 많은 사람들이 프로파일 러를 사용 했습니까? 승인 훌륭합니다 글쎄, 나는 우리가 당신에게 이러한 프로파일 러를 가지고 있지만, 대부분은 당신을 보았습니다 하지만 우리에게는 새로운 프로파일 러가 있습니다

오늘 소개하게 될 것입니다 그것이 에너지 프로파일 러입니다 아시다시피, 우리는 모니터를 가지고 있습니다 그게 당신에게 응용 프로그램에서 원격 telemetry 보여줍니다 우리에게는 CPU 네트워크 메모리와 새로운 에너지 프로파일 러가 있습니다

그리고 당신은 그 중 누구에게나 뛰어들 수 있습니다 예를 들어, 네트워크 요청을 검사하십시오 코드에서 요청한 곳 실제로 다운로드 한 내용, 전송 된 내용을 확인하십시오 또한 메모리 프로파일 러에 들어가서, 기억의 붕괴를 보아라 얼마나 많은 객체를 할당했는지, 당신이 그들을 할당 한 곳

CPU 프로파일 러를 살펴볼 수도 있습니다 나는 우리에게 당신에게 새로운 멋진 특징들을 보여줄 것입니다 거기에 32, 특히 systrace에 추가되었습니다 다시 한 번 질문 드리겠습니다

얼마나 많은 사람들이 전에 systrace를 사용 했나요? 승인 시원한 이제 systrace는 우리는 첫 번째 단계부터 시작했습니다 systrace를 Android Studio CPU 프로파일 러에 통합하는 방법에 대해 설명합니다 나는 잠시 후에 그것을 시연 할 것입니다 그리고 마지막으로 새로운 에너지 프로파일 러가 있습니다 앱의 문제를 찾는 데 도움이되는 에너지 프로파일 링으로 이어질 수있는 에너지 문제

나는 세션의 끝에서 그것에 대해 더 이야기한다 그리고 그걸로 끝입니다 그것이 내가 가지고있는 모든 슬라이드입니다 이제 데모로 이동하겠습니다 그리고 면책 조항을 만들어야합니다

오늘 내가 데모 할 기능들, 저는 Android Studio 32 Canary입니다 아직 안정적이지 않은 이유입니다 그래서 우리는 울퉁불퉁 한 탈것을 타기 위해있을 것입니다 하지만 우리가 갖고있는 것을 보여주고 싶었습니다

그리고 우리가 충돌하면 우리는 YouTube와 YouTube간에 시청하는 사람들과 그리고 그게 다야 괜찮아 그래서 지난 주에이 시계 앱을 썼습니다 그것은 시계가있는 간단한 시계 응용 프로그램입니다 그것은 당신이 클릭 할 수있는 스톱워치를 가지고 있으며, 뭔가를합니다

타이머가 있습니다 그리고 나는 너희들과 그것을 프로파일하고 싶다 먼저 네트워크 프로파일 러부터 시작해 보겠습니다 그래서이 응용 프로그램은 많은 기능을 가지고 시계 앱에 있어서는 안된다 예를 들어 인터넷에 접속해야합니다

위치에 액세스해야합니다 그것은 우리가 이것을 데모 할 수있는 많은 것들이 있습니다 그러니 제발 이런 시계 응용 프로그램을 작성하지 마십시오 그래서 가지고있는 기능 중 하나는 배경을 바꿀 수 있다는 것입니다 그래서 인터넷 연결이 충분하다면, 이 일은 이미지를 바로 다운로드하기 시작합니다

지금 우리는 거기에 갈 네트워크 프로파일 러에 들어가면됩니다 당신은 반드시 전에 이것을 보았습니다 그리고 수행 된 모든 네트워크 요청을 볼 수 있습니다

당신은 그들을 클릭하고 실제 페이로드를 볼 수 있습니다 31에 추가 된 새로운 기능 우리가 보내는 것을 볼 수있는 능력입니다 우리가받는 것만이 아니라 페이로드 또는 우리가 사용하는 사용자 지정 헤더를 참조하십시오 이 경우 하나의 맞춤 헤더가 있습니다

그 말은 Google I / O입니다 31에 또 다른 새로운 기능이 있습니다 네트워크 프로파일 러의 경우 스레드보기입니다 따라서 여기에서 보는 것처럼 요청을 표시합니다

타임 라인에서는 볼 수 있지만 스레드보기를 선택하면 어떤 실에있다 이걸 닫으면 더 많은 공간이 생깁니다 우리는 거기에 갈 따라서 각 스레드가 작성된 요청을 볼 수 있습니다 그리고 우리가 더 좋아한다면

표준 비동기 작업을 사용하고 있습니다 순차적으로 실행할 기본 실행자를 사용하며, 그리고 당신은 그들을 볼 수 있습니다 그리고 그들이 같은 스레드를 재사용한다면, 당신도 그들을 볼 수 있습니다 그러나 앱에서 더 복잡한 스레딩 요청이있는 경우, 이보기를 사용하여 현재 진행중인 작업을 볼 수 있습니다 그래서 그것들은 두 가지 새로운 기능입니다

우리가 31에서 추가 한 네트워크 프로파일 러에서 이제 저는 메모리 프로파일 러로 이동하려고합니다 다음 세션으로 가자 이전에이 뷰를 본 적이 있다면, 니가 얼마나 많은 기억을했는지 다른 구성 요소로 사용하지만 우리는 또한 할당 한 객체의 수를 보여줍니다

Android 또는 휴대 전화에서 프로파일 링하는 경우, 우리는 – 이 기능은 매우 훌륭합니다 실시간 위치라는 기능이 있습니다 추적 그날을 기억하십시오 아마도 작년이었을 것입니다

위치 추적을 할 때, 위치를 기록하려면 버튼을 클릭해야했습니다 그러면 그들을 볼 수 있습니다 우리가 여기서 무슨 일이 있었는지 알고 싶다면, 우리는 객체 선이 올라가는 것을 볼 수 있습니다 가비지 컬렉터가 올라가고 있기 때문에, 쓰레기 수거로 따라서 무슨 일이 일어나고 있는지보고 싶다면 범위를 선택하십시오

우리는 모든 단일 객체에 대한 정보를 얻을 것입니다 그곳에 할당되었고, 그 시간에 할당되었고, 그리고 귀하의 코드에서 할당되었습니다 그리고이 창문을 밀면 너는 이 변화가 일어나는 것을 볼 수 있습니다 따라서 가비지 콜렉션 기간 동안 슬라이드하면, 할당 취소 된 객체가 표시됩니다

이 창을 닫을 게 우리는 거기에 갈 할당되지 않은 문자열이 많이 있음을 알 수 있습니다 그래서 우리는이 앱을 실제로 보게 될 것입니다 그것이 얼마나 나쁜지 보아라

예를 들어, 이것을 선택하면 할당 된 것을보고 싶습니다 많은 문자열이 할당되어 있음을 알 수 있습니다 나는 그 중 하나를 클릭해서 내가 어디에 할당했는지 볼 수 있습니다 나는 그들을 onDraw 안에 할당했습니다 이것은 좋은 생각이 아닙니다

사용자 정의보기가 있고 많은 문자열을 할당하는 경우 거기에 나쁜 일이 일어날 것입니다 그리고 우리는 CPU 프로파일 러를 통해 그 부분에 대해 더 많이 보게 될 것입니다 그러나 이것은 이미 우리에게 말하기 시작했습니다 내 앱이 잘못하고있는 것에 대한 신호 우리가 3

2에서 추가 한 또 다른 새로운 것 JNI의 글로벌 레퍼런스를 볼 수있는 능력입니다 이것은 많은 메모리 누수 때문에 매우 중요합니다 1 개의 JNI 글로벌 참조가 작성되어 있기 (위해) 때문에, 우리는 언제 그것을 만들었는지 알지 못합니다 그게 어디 있는지 알아 그래서 당신이 범위를 선택할 때, 우리가 여기에 내 애플 리케이션에 무엇을 가지고, 이미지를 다운로드 할 때마다 필터를 실행합니다

C ++에서 어둡게해서 글꼴을 볼 수 있습니다 거기에 전 세계적인 참조가 있습니다 그리고 나는 그것이 올바르게했기를 바랍니다 그래서 우리는 JNI 힙 (heap)이라고 부르는 특별한 힙을 가지고 있습니다 그러나 당신이 그것을 선택할 때, 당신은 볼 수 있습니다

이 시간 범위에 존재했던 모든 글로벌 참조 이 경우, 나는이 엔트리를 가지고 있고, 나는 내가 하나를 창조했음을 알았지 만 그것이 없어 졌음에 틀림 없다 여기에 살고 범위를 선택하겠습니다 그리고 여기 있습니다 이것은 내 세계적인 것입니다

이것은 내가 다운로드 한 모든 이미지입니다 나는 여전히 JNI 글로벌 참조를 보유하고있다 그리고 실제로 코드의 C ++ 라인으로 이동할 수 있습니다 내가 결코 놓아주지 않는 그 세계적인 참조를 만들었다 그래서 이것이 문제를 추적하는데 유용하길 바란다

글로벌 참조 그리고 한 가지 더 당신은 아마 모든 시간을 왼쪽에서 보았을 것입니다 Sessions 패널이라는 새로운 패널이 있습니다 이제 이전 세션을 볼 수있게되었습니다

프로필을 작성 했으므로 다시 탐색 할 수 있습니다 이전 실행을 비교하십시오 앱을 최적화하고 있다면, 내가 무엇을 바꿨는지, 너는 돌아갈 수 있다고 말한다 세션을 통해 볼 수 있습니다 음, 데모가 끝날 때, 잘하면 우리는 되돌아 가서 우리가 최적화 한 것과 일어난 것을 볼 수 있습니다

그러나 그것은 우리가 이런 일을 할 수있는 문을 열었습니다 이제 파일을 가져올 수 있습니다 나는 힙 덤프를 가져올 것이다 그리고이 힙 덤프를 직접 가져 왔습니다 새로운 프로파일 러에게 보내고 우리가 그것에 대한 고정 장치라고 부르는 것, 그리고 너처럼 힙 덤프를 분석 할 수있어

프로파일 러에서 익숙하다 CPU 추적을 가져올 수도 있습니다 우리가 수출 할 수있는 모든 것, 우리도 수입 할 수 있습니다 그래서 매우 편리합니다 – 이것은 32에서 새로 추가되었습니다

그리고 이것이 내가 기억하기를 원하는 것입니다 이제 우리는 CPU로 가서 대부분의 시간을 보낼 것입니다 그곳에 권리 이것은 라이브 세션입니다

그리고 내가 갖고있는 기능 하나를 보여 드리겠습니다 괜찮아 그래서 우리가 추가하고 싶은 한가지 처음부터 프로파일 링하는 능력이었습니다 그래서 그것이 프로파일이라면, 당신은 이것을 압니다 앱 시작 프로필 작성을 원할 경우, 당신은 CPU 프로파일 러에 가서 클릭 레코드를해야하므로 무슨 일이 일어나고 있는지 알 수 있어요

음, 32에서, 당신이 할 수있는 것은 당신이 Profiling 탭으로 간다면, 녹음 시작 옵션이 있습니다 시작시 메소드 추적 그래서 나는이 덱스를 가지고있다 원하는 구성을 선택할 수 있습니다

이 경우 샘플 Java 구성을 사용하려고합니다 앱을 다시 실행하겠습니다 시원한 이제 앱이 다시 시작된 것을 볼 수 있습니다 프로파일 러는 저에게 직접 CPU 프로파일 러, 이미 진행중인 캡처가 있습니다

앱 시작부터 이제 저는 그걸 막을 것입니다 그곳에서 일어난 일을 조사 할 것입니다 데이터를 가져 오는 데 몇 초가 걸립니다 시원한

나는 당신이 화면상의 해상도를 볼 수 있는지, 그러나 보자 그리고 그것을 보라 앱의 시작 부분을 선택하겠습니다 사실 캡처가 시작되었음을 알 수 있습니다 원격 측정기가 데이터를 받기 시작할 수 있기 전에도 앱에서 나온 거지? 우리의 원격 계측은 여기에서 시작되었지만, 우리는 데이터를 볼 수 있습니다

계속 확대하면 내 주요 활동의 첫 번째를 볼 수 있습니다 그리고 심지어 우리가 볼 수 있기 전에, dexes 중 하나 귀하의 응용 프로그램의 아주 시작 부분에 낮췄다 따라서이 메커니즘을 사용하면 처음부터 프로파일 링 할 수 있습니다 앱의 시작 시간을 최적화 할 수 있습니다 하지만이 캡처를 살펴 보겠습니다

전에 본 문자열이 실제로 몇 가지 문제가 발생합니다 CPU 프로파일 러에서 내가 가장 좋아하는보기 중 하나 Flame 차트입니다 Flame 차트는 모든 호출 스택을 집계합니다 같은 시작을 가지고 있습니다 따라서 기본적으로 하향식 트리라는 것을 알 수 있습니다

그러나 시각적 인 방법으로 그리고 가장 큰 것들 중 하나가 내 onDraw라는 것을 알 수 있습니다 내가 이것을 굴리는 방법은 모든 프레임에 있습니다 나는 모든 것을 다시 렌더링하고있다 그건 좋은 방법이 아닙니다

그러나 이것은 프로파일 러에 대한 좋은 예입니다 그래서 당신은 내가 렌더링하고 있음을 볼 수 있습니다 맨 위에는 많은 것들이 있습니다 문자열 형식화와 관련이 있습니다 그리고 이것이 우리 문자열 문제의 원천이 될 수 있습니다

우리가 전에 본 것 따라서 앱이 제대로 작동하지 않는 또 다른 증상입니다 내가 항상 우리의 프로파일 러에 대해 말한 한 가지는 우리가 앱에서 무엇이 잘못되었는지 말할 수 없습니다 앱이하는 일만 알려줄 수 있습니다 그리고 나서 너에게 달려있어, 오, 나는 이것이 일어날 것을 기대하지 않았다

알 수 있듯이 내 앱은 괜찮아 보이지만 후드에서는 그렇지 않아 그래서 당신이 틀린 레이블에 버그가 있다고 가정 해 봅시다 그것은 다른 위치에 있습니다 앱을 실행하고 있습니다 당신은 그것을 보았고, 오, 틀렸어

이 문제를 해결해야합니다 그러나 성능 문제와 같은 문제가 있다면 너는 그것을 보지 못할 것이다 나중에도 배터리에 관해서 이야기하겠습니다 너는 들판에서 그것을 볼거야, 그렇지? 그래서 우리는 우리의 프로파일 러를 앱의 다른 창으로 만들고 싶습니다 프로필러를 보면서 앱을 실행할 수 있습니다

그런 다음 문제를 볼 수 있습니다 네가 기대하지 않았던 것이 나타나기 시작했다 onDraw 내부에서 많은 문자열 서식을 지정하는 것처럼 요구 코드에 가보겠습니다 여기에 제가 – 너 볼 수있어? 네

그래서 저는 onDraw를 가지고 있고 drawtime이라는 함수를 가지고 있습니다 어디에서 내 앱을 볼 시간이 있는가? drawTimeString이라는 함수를 작성했습니다 문자열 서식을 사용하여 시간을 그리는 아마 좋은 생각이 아닙니다 그래서 그것은 단지 하나의 사건입니다 나는 다른 함수를 쓰고있다

문자열을 사용하지 않고 시간을 그립니다 우리는 그것을 시도 할 것입니다 오, 우리가하기 전에, 너에게 보여 줄게 우리가 여기있는 한 가지 여러분 중 얼마나 많은 사람들이이 라인을 잘 알고 있습니까? 코드, Trace

beginSection? 손을 들어주세요 시원한 그래서이 줄은 끝 부분과 함께, 그들은 systrace 이벤트를 만들 것입니다 당신이 볼 수있는 systrace를 사용할 수 있습니다 그래서 제가 최적화를하기 전에, 무슨 일이 일어나는지 보여줄거야

시스템 추적 방법을 사용하여 캡처를 수행 할 경우 그래서 이것은 두포의 아래에서 systrace를 달리고있다 Python 스크립트로 이동할 필요가 없습니다 더 이상 가져 오지 말고 HTML보기에서 다시 가져옵니다 우리는 대신 여기에 당신에게 보여줄 것입니다 안드로이드 스튜디오에서 우리의 응용 프로그램에서

승인 내가 울퉁불퉁 한 탈것에 대해 언급 한 것을 기억하니? 이거 야 Oopsie 에뮬레이터를 다시 시작하면 다시 시도하겠습니다 우리는 거기에 갈

제발, 집에서 이것을 시험해보십시오 파일 버그, 우리는 그들을 해결할 것입니다 이 표를 얻으면 이러한 문제 모두 정렬됩니다 우리는 거기에 갈 CPU 프로파일 러로 가서 시스템 트레이스를 사용할 것입니다

두 번째는 매력입니다 승인 그래서 여기에 시스템 추적이 있습니다 선택 부분을 선택하고 확대합니다 시원한

우선 여기에서 주목할 것은, 우선, 우리는 거기에 커널 섹션이라는 새로운 섹션이 있습니다 여기서 모든 CPU를 보여줍니다 세심한주의를 기울이면 모든 스레드 정보를 다시 렌더링하고, systrace에서 모든 데이터 가져 오기 그래서 스레드 정보가 있기 전에, prog 파일 시스템을 샘플링합니다 그래서 정확하지 않습니다

그러나 당신이 systrace 포획을 가지고 갈하자마자, 당신은 정확히 어디에서 볼 수 있습니다 당신의 실이 매 순간하고있는 일 그리고 그 중 하나를 선택하면, 우리는 당신의 쓰레드가 어떤 CPU에서 스케줄되고 있는지에 대해 위에서 강조했다 그래서 당신은 스레드 경합을 볼 수 있습니다 또는 당신을 CPU에서 쫓아 내고있는 모든 것들

근본적인 차이가있다 그런데 우리는 당신이 그것을 보는 방식으로 여기에 systrace를 보여줍니다 HTML보기에서 여기서 우리는 앱에 중점을 둡니다 녹색으로 강조 표시된 모든 항목이 여기에 표시됩니다

짙은 녹색조차도 당신의 앱입니다 계속해서 다른 이벤트를 볼 수 있습니다 CPU를 사용하고있는 곳이나 쫓겨 난 곳을 확인하십시오 그러나 우리는 당신의 앱에 초점을 맞 춥니 다 우리는 앱의 스레드를 보여줍니다

따라서 거대한 HTML 페이지를 탐색 할 필요가 없습니다 그리고 우리는 당신이 알고있는 모든 다른 것들을 사용합니다 다른 모든 캡처 우리는 systrace (예 : Flame chart)에 사용합니다 또는 하향식보기

시간을 최대한 빨리 확대하겠습니다 우리는 프레임을 볼 수 있습니다 그래서 나는 여기에있다 더 많이 확대하고 사실 내 메인 스레드를 선택하자 우리는 거기에 갈

그래서 우리는 ChoreographerdufFrame을 볼 수 있습니다 아래로 내려 가면 내 맞춤 구성 요소에서 onDraw를 볼 수 있습니다 우리는 끌기 시간을 볼 수 있습니다 코드를 기억하십시오 – 코드로 돌아가서 보여 드리겠습니다 그리기 시간에는 시계 끌기 시간이 있습니다

내 임시 문자열 주위 섹션 주위에, 그리고 당신은 내가 그것을 세 번, 한 번 보았 음을 알 수 있습니다 내 앱의 모든 섹션에 대해 각자의 복용 기간을 알 수 있습니까? 그래서 프레임을 렌더링하는 데 38 밀리 초가 걸립니다 초당 60 프레임으로 앱을 실행하려면, 당신은 17 밀리 세컨드 이하로 렌더링해야합니다 이제는 끝났어 사실, 시간을 끌기위한 나의 목표 중 하나는 11 밀리 초를 취하는 것입니다

그래서 내가 가지고있는 것은 잘하지 못하고있다 괜찮아 보이는데, 당신이 이것을 선적했다고 사람들이 불평한다고 상상해보십시오 이것은 제가 언급 한 것들 중 하나입니다 당신은 당신의 앱을 본다 그러나 그것을 본다

그것이 괜찮은지 확인하기 위해 프로파일 러 유리를 통해 이제 최적화하고 다른 장면 캡처를 시작하겠습니다 내가 그리는 시간의 구현을 변경하겠습니다 이제 문자열을 사용하는 대신, 내 사용자 지정 서식을 사용하고 있습니다 문자열 형식을 사용하는 대신, 내 사용자 지정 서식을 사용하고 있습니다

우리는 이러한 변화와 함께 다시 실행할 것입니다 그리고 우리는 systrace를 통해 그것을 실행할 것입니다 그리고 그게 내 애플 리케이션에 영향을 참조하십시오 시원한 거기는

CPU 프로파일 러에 가면 systrace가 선택됩니다 그리고 나는 포획을 시작하고있다 몇 초 만에해야 할 일이 있습니다 거기에서 일어나는 프레임이 많습니다 멋지다

우리는 그것을 가지고있다 권리 주 스레드가 선택되었습니다 특정 프레임을 확대하십시오 프레임 워크에는 ChoreographerdufFrame이 있습니다

그런 다음 시계 켜기로 이동합니다 그리기 시간 기능을 더 이상 볼 수 없습니다 그것들은 그 아래 작은, 작은 얼룩 들이기 때문에, 그들 각각은 현재 71 마이크로 초가 걸리고, onDraw는 13 밀리 초입니다 우 – 후 그래서 우리는 그렇게했습니다

이제 초당 60 프레임 미만입니다 내 앱이 다른 곳에서 나쁘기 때문에, 적어도 우리는 그것의 한 부분을 최적화했습니다 시원한 그리고 그것은 systrace입니다 그리고 다시 세션을 언급하겠습니다

내가 말했던 것을 기억하라 너는 돌아가서 비교할 수있다 이전 세션이 왼쪽에 있는데, 우리는 우리가했던 이전의 systrace를 볼 수 있습니다 그래서 여기 있습니다 다시 선택할 수 있으며 주 스레드를 볼 수 있습니다

내 시간이 얼마나 나쁜지 보아라 그리고 나서 현재 실행중인 세션으로 되돌아갑니다 당신은이 모든 것을 지킬 수 있습니다 그리고 물론, 마우스 오른쪽 버튼을 클릭하면, 당신은 추적을 내보낼 수 있고 디버그, 또는 힙 덤프에서이 항목을 바로 내보낼 수 있습니다 세션 패널에서

음, 이것을 클릭하겠습니다 권리 그리고 그게 우리 – 20 분이야

systrace와의 통합 따라서 CPU 데이터를 캡처하는 또 다른 방법이 있습니다 그리고 그것은 디버거의 API를 통해 이루어집니다 코드 줄로 가자 여기있어

그래서 나는 스톱워치를 가지고 있는데, 나는 갈거야 내가 스톱워치를 시작할 때마다 그것을 바꾸기 위해, 시작 메소드 추적을 실행하겠습니다 그리고 내가 그것을 멈출 때마다, 나는 메소드 추적을 중지합니다 디버거를 가져와야하고 앱을 다시 실행하겠습니다 이제는 일단 API를 실행하면 이 파일을 가져와 가져와야합니다

좋아하는 프로파일 러 중 하나에서여십시오 추적 파일을 열 수 있습니다 하지만 지금 내가 CPU 프로파일 러에 있다면 내 스톱워치를 사용합니다 이것이 발생합니다 이제 캡처를하고 스튜디오 프로파일 러의 캡처가 진행 중이라는 것을 발견했습니다

우리는 당신에게 이것을 보여줄 것입니다 그리고 내가 그것을 멈추었을 때, 나는 가서 가져올 필요가 없다 어디에서든지 파일 우리는 그것을 장치에서 꺼내 바로 거기에 보여줍니다 그래서 내가 시작하고 멈 추면 시작하고 멈 춥니 다

이 모든 것을 포착합니다 실제로 서로 겹쳐 쓰고 있어요 그들은 동일한 파일링 장치를 사용하기 때문에, Studio로 가져 와서 보여주는 것입니다 프로필 작성을 원할 때 매우 편리합니다 정확히 한 순간

모두 탐색 할 수 있으며 여기에서 볼 수 있습니다 세션] 패널에서 꽤 괜찮은데 31에서 추가 한 것, CPU를 캡쳐하는 또 다른 방법 Simpleperf라는 C ++ 샘플링 도구를 사용합니다 androiddevelopers

com에있는 문서로 이동하면, Simpleperf에 대한 설명서를 찾을 수 있습니다 우리는 안드로이드 스튜디오 안에 Simpleperf 버전을 가지고 있습니다 C ++ 코드를 샘플링하고 전체 호출 스택을 볼 수 있습니다 귀하의 C + + 프로그램의 내가 많이 가지지 않기 때문에 데모하지 않을거야

C ++의 시원한 이것이 바로 CPU 프로파일 링입니다 이제 에너지 프로파일 러로 옮겨 가겠습니다 따라서 에너지는 까다 롭습니다

에너지는 까다로운 데 그 이유는 귀하의 휴대 전화에서 에너지를 사용하십시오 음, 화면은 분명히 – 나는 심지어 화면을 셀 수 없다 화면이 나쁩니다 그것은 많은 에너지를 사용하지만, 사용자는 전화를 사용하고 있습니다 게임을 사용하고 있다면 항상 화면을 사용하십시오

그러나 배터리 드레인 문제는 대개 사용자가 아닌 경우 CPU 또는 네트워크를 사용할 때 발생합니다 이것을 알고 있거나 개발자가 아닌 경우 이것에 대해 알고 있습니다 그럼 내가 살게 해줘 나는이 응용 프로그램에 상당한 양의 CPU를 사용하고 있습니다 에너지 분석기에 들어가면, 우리는 이것을 에너지의 가벼운 사용으로 분류합니다

우리는 당신에게 여기있는 것을 보여줄 것입니다 정말 좋은 모델 맞지? 그래서 우리는 당신이 얼마나 많은 에너지를 낼지 나타내는 것들을 보여줍니다 현대적인 전화로 사용하고 있습니다 나는 에뮬레이터가 얼마나 많은 에너지를 정제하는지는 모르겠다 분명히 사용하고 있지만 이것은 우리가 볼 수있는 것입니다

OK, 나는 잘하고있다, 잘하지 못하고있다 여기에 나타나는 것들을 보여 드리겠습니다 그러나 명백하게 두 가지 중요한 요소는 CPU와 네트워크입니다 그리고 그렇지 않습니다 명백한 것은 괜찮습니다

그냥 CPU와 네트워크를 사용하지 마십시오,하지만 어떻게? 아니면 내가 왜 현장에서 그것을 사용하고 있습니까? 그리고 문제는 실제로 우리가 그것을 사용할 때가 아닙니다 문제는 우리가 그것을 사용하고 있는지 모른다는 것입니다 그래서 나는 잠에서 깨어나는 실행 잠금 장치를 가지고 있다고 가정 해 봅시다 우리는 그것이 어디에 있는지 알지 못합니다 CPU를 사용하고 있습니다

또는 내가 올바르게 설정하지 않았다는 경고음이 들립니다 그게 내 애플 리케이션을 깨우고, 그리고 네트워크 요청을 만들고있어 그래서 실제 에너지가 아닙니다 이 모든 일에 대해 당신이 잘못 할 수 있습니다 장기간 배터리가 소모 될 수 있습니다

그리고 이것은 제가 전에 말했던 것의 일부입니다 앱을 보면, 내 앱을 보면, 그것은 실행중인 것 같습니다 괜찮을 것 같습니다 Play 스토어로 푸시해야한다면 너는 너의 전화로 시작 했어 이것은 가장 비싸고, 배터리를 사용하며, 당신의 휴대 전화에 가지고있는 시계

네 배터리를 버리 겠어 맞아 내가 이것을 볼 때 나는 그것을 모른다 따라서 프로파일 러를 살펴보면 끊임없이 이것이 CPU를 고갈시키는 것을 볼 수 있습니다, 그 이유를 조사 할 수 있습니다 내가 말했듯이, 일반적인 실수는 내가 해제하지 않는 잠자기 잠금 장치가 있거나 알람이 있습니다

그래서 우리는 당신에게 창문을주고 싶었습니다 일어나는 일들을 볼 수 있습니다 같은 방법으로 잘못된 위치에 라벨이있는 경우, 너는 그것을 볼 수있다, 너를 보여주고 싶다 취소하지 않았다는 경고를 받으면 또는 당신은 틀린 장소에있는 경보가있다, 우리는 당신에게 그것을 보여줄 것입니다 그래서 타이머가있는 곳에서이 앱을 보여 드리겠습니다

그래서 여기, 나는 10 초 타이머를 말하자 그리고 에너지 프로파일 러의 바닥을 볼 수 있습니다 거기에 노란색 선이 나타났습니다 도구 팁을 붙이면 경보 또는 직업입니다 우리는 거기에서 당신을 보여줍니다

그리고 타이머가 멈 추면, 경보가 울 렸어 타이머를 다시 시작하면 다시 알람이 울립니다 그리고 이것을 실제로, 제가 이것을 개발할 때, 내가보기에 유용 했어, 알았어, 내가 제대로하고 있니? 타이머를 멈 추면 내 경보가 사라 집니까? 다시 시작하면 다시 부르겠습니까? 그래서 이것을 보게됩니다 시계 타이머로 알람을 사용하지 마십시오 나는 또한 스톱워치에 잠자기 잠금 장치를 가지고있다

다시 한 번 스톱워치에 절전 모드 잠금 장치를 사용하지 마십시오 그리고 내가 그것을 시작할 때 나는 깨우기 잠금을 적용한다는 것을 알 수 있습니다 내가 그것을 멈추었을 때, 나는 그것을 내버려 두었다 그리고 나는 그것이 잘 작동하는 것을 볼 수 있습니다 빨간 줄이 계속 간다면 버그가 생겼지, 그치? 내 응용 프로그램은 동일하게 보일 것이며, 나는 그것을 발송할 것이다

사람들은 문제가 생기 겠지만 이 창을 통해 볼 수 있습니다 좋든 싫든 또한 위치를 추적합니다 그래서 내가 지금하고있는 것처럼 당신이 위치를 얻는다면, 우리는이 보라색 선을 보여줍니다 당신의 현재 위치

에뮬레이터에는 정말 편리한 기능이 있습니다 위치 이벤트를 보낼시기를 실제로 알릴 수 있습니다 그래서 우리 모델에서는 실제로 그것이 에너지를 사용 하여 그리고 다시 보라색 막대에서 볼 수 있습니다 보라색 막대가 사라졌습니다

그러나 그 이상으로, 우리의 프로파일 러에서 익숙 하듯이, 우리는 범위를 선택할 수 있습니다 너는 경보를 받았고, 위치 요청을했다 뒤로 이동하면 웨이크 잠금 장치를 선택할 수 있습니다 그리고 나는 그것을 잠시 후에 할 것이다 그 이상으로, 나는 당신에게 그 위치는 획득되었고 어떤 종류의 공급자였습니까? 나는 GPS 제공자를 사용하고 있습니다

그래서 우리는 그것을 볼 수 있습니다 코드가 나올 때 내가 선택한 간격 시간을 볼 수 있습니다 나는 그것을 토글 위치가 발생하도록 유발했다 버튼을 클릭하면 알람을 클릭하면 나는 그것을 처음 설정할 때를 볼 수있다 그러나 내가 그것을 다시 시작할 때, 나는 그것을 취소한다

따라서 코드의 모든 부분을 볼 수 있습니다 이 문제가 해결되지 않으면 문제를 디버깅 할 수 있도록 트리거되었습니다 올바르게 일어난다 내가 다시 가서 너에게 보여 줄게 웨이크 잠금 장치, 바로 거기에 있습니다

나는 선택한다 웨이크 잠금 장치를 볼 수 있습니다 그리고 내가 시작할 때마다 당신은 볼 수 있습니다 나는 스톱워치를 멈췄다 나는 인수하고 공개했다

깨우기 잠금을 사용하면 모든 호출 스택을 볼 수 있습니다 그 일이 언제 일어 났는지 이것이 바로 이것의 힘입니다 이것은 말하기위한 것이 아닙니다, 좋아, 당신은 많은 배터리를 사용하고 있습니다 네

나 다시, 나는 배터리를 사용하고 싶다 그래서 괜찮아 이 기능을 통해 앱이 당신이 생각하는 것을하는 것 그리고 그렇지 않다면 들어가서 고쳐야합니다 그래서

시원한 그것은 에너지 프로파일 러입니다 내가 너에게 보여주고 싶은 또 하나의 것을 보여 줄께 왼쪽에는 세션 패널이 있습니다 그리고 제 시간에 돌아 갑시다

이렇게 현재 세션을 중지 할 수 있습니다 그런 다음 이전 세션을 클릭 할 수 있습니다 우리가 한 모든 캡처를 비교할 수 있습니다 내가 여기에서 이야기를 시작했을 때부터, 우리가 처음 만났을 때였습니다 Studio를 다시 시작할 때까지이 정보를 모두 보관합니다

그래서 당신은 달리기를 비교할 수 있습니다 그리고 마지막으로 보여 드리죠 나는 그걸로 끝내고 싶다 나는 몇 분 일찍 닫을 것이다 괜찮아

전에 말했듯이, 모든 프레임을 렌더링하고 있습니다 나는 내가해서는 안되는 일을하고있어 그게 내가 항상 그 시야를 무효화하고 있다는거야 그리고 그것은 많은 CPU를 사용하고 있습니다 그럼 제 활동으로 돌아가 봅시다

나는 이것을하는 코드를 가지고있다 그래서 저는 모든 프레임을 업데이트하는 모델을 가지고 있습니다 그리고 나서 나는 항상 무효화한다 내 모델에는 언제 변화했는지 알 수있는 능력이 있습니다 그래서 캔버스를 무효화 할 때마다 무언가가 바뀌 었습니다

그리고 우리는 그것이 가지고있는 영향을 보게 될 것입니다 에너지, CPU 등 우리는 다시 응용 프로그램에있어 우리는 거기에 갈 대부분의 시간 동안 에너지 프로파일 러를 볼 수 있습니다

지금은 빛 아래 있습니다 전에 매체보다 높았습니다 이전 세션과 비교할 수 있습니다 물론 렌더링해야 할 때, 우리는 에너지 사용량이 올라 가기 시작한다는 것을 알 수 있습니다 왜냐하면 나는 매번 내 견해를 재검토하기 때문입니다

그리고 여기서 효과를 볼 수 있습니다 메모리 프로파일 러에서도이를 볼 수 있습니다 내가 메모리 프로파일 러로 돌아 가면 올라가고, 올라가고, 올라가고, 올라가고 있었던 선을 기억하십시오 쓰레기 수집? 그것은 사라졌습니다

나는 생성되는 몇몇 객체를 가지고있다 그리고 그들은 나중에 여기 에서처럼 주장 될 것입니다, 그러나 이전과 같지 않습니다 시원한 그리고 데모를 중단하고 슬라이드로 돌아가 보겠습니다 고맙습니다

[음악 재생]