这是indexloc提供的服务,不要输入任何密码
Submit Search
GKAC 2015 Apr. - Android Looper
3 likes
2,193 views
GDG Korea
Speaker: 차영호 GDG Korea Android Conference 2015 Apr. Google Campus Seoul 2015. 4. 18
Software
Read more
1 of 32
Download now
Downloaded 10 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
More Related Content
What's hot
(18)
PDF
ReactJS | 서버와 클라이어트에서 동시에 사용하는
Taegon Kim
PPTX
골때리는 자바스크립트 발표자료
욱진 양
PPTX
ECMAScript 6의 새로운 것들!
WooYoung Cho
PDF
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
NAVER Engineering
PDF
MVP 패턴 소개
beom kyun choi
PDF
비전공자의 자바스크립트 도전기
jeong seok yang
PPTX
Javascript 실행 가능한 코드(Executable Code)와 실행 콘텍스트(Execution Context), Lexical En...
Young-Beom Rhee
PDF
Javascript
Hong Hyo Sang
PDF
[1B4]안드로이드 동시성_프로그래밍
NAVER D2
PPTX
Angular2 가기전 Type script소개
Dong Jun Kwon
PPTX
Jquery javascript_ed10
hungrok
PPTX
반복적인 작업이 싫은 안드로이드 개발자에게
Sungju Jin
PPTX
프론트엔드스터디 E05 js closure oop
Young-Beom Rhee
PPTX
Android Native Module 안정적으로 개발하기
hanbeom Park
PPTX
Deview 2019 눈발자국
hanbeom Park
PDF
Ji 개발 리뷰 (신림프로그래머)
beom kyun choi
PDF
모델링 연습 리뷰
beom kyun choi
PDF
track2 04. MS는 Rx를 왜 만들었을까? feat. RxJS/ 네이버, 김훈민
양 한빛
ReactJS | 서버와 클라이어트에서 동시에 사용하는
Taegon Kim
골때리는 자바스크립트 발표자료
욱진 양
ECMAScript 6의 새로운 것들!
WooYoung Cho
[TECHCON 2019: MOBILE - Android]2.예제에서는 알려주지 않는 Model 이야기
NAVER Engineering
MVP 패턴 소개
beom kyun choi
비전공자의 자바스크립트 도전기
jeong seok yang
Javascript 실행 가능한 코드(Executable Code)와 실행 콘텍스트(Execution Context), Lexical En...
Young-Beom Rhee
Javascript
Hong Hyo Sang
[1B4]안드로이드 동시성_프로그래밍
NAVER D2
Angular2 가기전 Type script소개
Dong Jun Kwon
Jquery javascript_ed10
hungrok
반복적인 작업이 싫은 안드로이드 개발자에게
Sungju Jin
프론트엔드스터디 E05 js closure oop
Young-Beom Rhee
Android Native Module 안정적으로 개발하기
hanbeom Park
Deview 2019 눈발자국
hanbeom Park
Ji 개발 리뷰 (신림프로그래머)
beom kyun choi
모델링 연습 리뷰
beom kyun choi
track2 04. MS는 Rx를 왜 만들었을까? feat. RxJS/ 네이버, 김훈민
양 한빛
Viewers also liked
(20)
PDF
Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices
juricde
PDF
Android Concurrency Presentation
Karol Depka Pradzinski
PPTX
GKAC 2015 Apr. - Xamarin forms, mvvm and testing
GDG Korea
PDF
RetroFit by Square - GDG Dallas 06/09/16
Stacy Devino
PPTX
Intro to Android : Making your first App!
Stacy Devino
PPTX
Async task, threads, pools, and executors oh my!
Stacy Devino
PDF
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
GDG Korea
PDF
디자이너 없어도 괜찮아! (feat.Material Design Guide)
GDG Korea
PDF
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
GDG Korea
PDF
GKAC 2015 Apr. - RxAndroid
GDG Korea
PDF
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
GDG Korea
PDF
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GDG Korea
PDF
Best Practices in Media Playback
GDG Korea
PDF
FIrebase를 이용한 호우호우 미니게임 만들기
GDG Korea
PPTX
Reinfocement learning
GDG Korea
PDF
안드로이드 데이터 바인딩
GDG Korea
PDF
Introduce Android TV and new features from Google I/O 2016
GDG Korea
PPTX
Android - Preventing common memory leaks
Ali Muzaffar
PDF
Android : How Do I Code Thee?
Viswanath J
PPT
Inside the Android application framework - Google I/O 2009
Viswanath J
Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices
juricde
Android Concurrency Presentation
Karol Depka Pradzinski
GKAC 2015 Apr. - Xamarin forms, mvvm and testing
GDG Korea
RetroFit by Square - GDG Dallas 06/09/16
Stacy Devino
Intro to Android : Making your first App!
Stacy Devino
Async task, threads, pools, and executors oh my!
Stacy Devino
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
GDG Korea
디자이너 없어도 괜찮아! (feat.Material Design Guide)
GDG Korea
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
GDG Korea
GKAC 2015 Apr. - RxAndroid
GDG Korea
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
GDG Korea
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GDG Korea
Best Practices in Media Playback
GDG Korea
FIrebase를 이용한 호우호우 미니게임 만들기
GDG Korea
Reinfocement learning
GDG Korea
안드로이드 데이터 바인딩
GDG Korea
Introduce Android TV and new features from Google I/O 2016
GDG Korea
Android - Preventing common memory leaks
Ali Muzaffar
Android : How Do I Code Thee?
Viswanath J
Inside the Android application framework - Google I/O 2009
Viswanath J
Ad
Similar to GKAC 2015 Apr. - Android Looper
(20)
PPTX
Java Virtual Machine, Call stack, Java Byte Code
Javajigi Jaesung
PDF
Modern android
Leonardo YongUk Kim
PDF
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
현철 조
PDF
Spring Boot 2
경륜 이
PPTX
Eclipse RCP 1/2
cho hyun jong
KEY
안드로이드 세미나
ang0123dev
PDF
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
Kwangsung Ha
PPTX
Pinpoint spring_camp 2015
Woonduk-Kang
PDF
Laravel 로 배우는 서버사이드 #2
성일 한
PDF
Effective unit testing ch3. 테스트더블
YongEun Choi
PDF
java 8 람다식 소개와 의미 고찰
Sungchul Park
PPTX
TestExplorer 소개 - Android application GUI testing tool
hyunae lee
PPTX
TestExplorer 소개 - Android application GUI testing tool
hyunae lee
PDF
응답하라 반응형웹 - 4. angular
redribbon1307
PDF
Gradle 한번 살펴보기
Junseo Youn
PDF
spring.io를 통해 배우는 spring 개발사례
Daehwan Lee
PDF
Java 강의자료 ed11
hungrok
PPTX
온라인 게임에서 사례로 살펴보는 디버깅 in NDC10
Ryan Park
PPTX
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010
Ryan Park
PDF
Node.js intro
Chul Ju Hong
Java Virtual Machine, Call stack, Java Byte Code
Javajigi Jaesung
Modern android
Leonardo YongUk Kim
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
현철 조
Spring Boot 2
경륜 이
Eclipse RCP 1/2
cho hyun jong
안드로이드 세미나
ang0123dev
[강연] 학생에서 현업 개발자로의 성공적인 변신을 위하여
Kwangsung Ha
Pinpoint spring_camp 2015
Woonduk-Kang
Laravel 로 배우는 서버사이드 #2
성일 한
Effective unit testing ch3. 테스트더블
YongEun Choi
java 8 람다식 소개와 의미 고찰
Sungchul Park
TestExplorer 소개 - Android application GUI testing tool
hyunae lee
TestExplorer 소개 - Android application GUI testing tool
hyunae lee
응답하라 반응형웹 - 4. angular
redribbon1307
Gradle 한번 살펴보기
Junseo Youn
spring.io를 통해 배우는 spring 개발사례
Daehwan Lee
Java 강의자료 ed11
hungrok
온라인 게임에서 사례로 살펴보는 디버깅 in NDC10
Ryan Park
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010
Ryan Park
Node.js intro
Chul Ju Hong
Ad
More from GDG Korea
(7)
PDF
접근성(Accessibility)과 안드로이드
GDG Korea
PDF
Tensorflow 101
GDG Korea
PDF
Building Extraordinary Apps with Firebase Analytics
GDG Korea
PDF
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
GDG Korea
PDF
GKAC 2014 Nov. - 그루비로 안드로이드 앱 개발하기
GDG Korea
PDF
GKAC 2014 Nov. - The Beautiful Design Collection 살펴보기
GDG Korea
PDF
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
GDG Korea
접근성(Accessibility)과 안드로이드
GDG Korea
Tensorflow 101
GDG Korea
Building Extraordinary Apps with Firebase Analytics
GDG Korea
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
GDG Korea
GKAC 2014 Nov. - 그루비로 안드로이드 앱 개발하기
GDG Korea
GKAC 2014 Nov. - The Beautiful Design Collection 살펴보기
GDG Korea
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
GDG Korea
GKAC 2015 Apr. - Android Looper
1.
Android Looper 차영호 @ganachoco
2.
발표자 소개
3.
Agenda ● Java VS
Android ● Where is main? ● Event Loop ● Create and Handle Event with Message ● Advanced Topic
4.
Android Looper ● Event
Loop for Android ● 공기 같은 존재 ○ 어디에나 있지만, 여간해선 사용할 일은 없다. ○ 사용할 일은 없지만, 모르면 가끔씩 해결이 곤란할 때 가 생긴다.
5.
Java vs Android
6.
Start Entry public class
Hello { public static void main(String[] s) { System.out.println("Hello, World"); } } public class HelloActivity extends Activity { @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.activity_hello); } }
7.
Start Entry C: >
java Hello Hello, World ????
8.
간단한 호출경로 확인
방법(Log)
9.
간단한 호출경로 확인
방법(Log)
10.
main() package android.app; public final
class ActivityThread { public static void main(String[] args) { // blahblah Looper.loop(); throw new RuntimeException("Main thread loop unexpectedly exited"); } }
11.
Event Loop while (true)
{ // do someting }
12.
Event Loop while (true)
{ msg = waitAndGetMessage(); handler = msg.getTarget(); handler.handleMessage(msg); }
13.
간단한 호출경로 확인
방법(Log)
14.
Message Queue Image Source:
MSDN
15.
Message Queue Image Source:
MSDN
16.
ANR이 반겨줍니다.
17.
Events ● Component Lifecycle
Event ○ Activity ○ Service ● Intent Handler ○ BroadcastReceiver.onReceive ● View layout & draw ● Input Event
18.
Event Loop ● android.os.Message ●
android.os.Handler ● android.os.Looper ○ android.os.HandlerThread
19.
Message @Override public void onClick(View
v) { setText("Text 1"); } private static final int MSG_HANDLE_CHANGE_TEXT = 1; public void setText(String text) { // Message msg = new Message(); // bad usage Message msg = mHandler.obtainMessage(MSG_HANDLE_CHANGE_TEXT, text); mHandler.sendMessage(msg); }
20.
Handler private mHandler =
new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case MSG_HANDLE_TEXT_CHANGED: mTextView.setText((String)(msg.obj)); break; default: break; } } }
21.
Call Flow Looper.loop onClick setText mHandler.sendMessage ... mHandler.handleMessage mTextView.setText 시 간
22.
직구를 배웠습니다
23.
변화구도 배워봅시다 Image Source:
https://mirror.enha.kr/wiki/야구의 구종
24.
Message Queue Image Source:
MSDN sendMessageAtFrontOfQueue()
25.
Message Queue Image Source:
MSDN removeMessages()
26.
Message Queue Image Source:
MSDN sendMessageDelayed() sendMessageAtTime()
27.
Requirement ● 안드로이드앱이 시작하고나서 1분
후에 팝업을 띄워주세요.
28.
Solution
29.
Advanced Topic ● Wakelock ●
AlarmManager
30.
Wakelock ● View.setKeepScreenOn() ● WakeLock ○
FULL_WAKE_LOCK ○ SCREEN_BRIGHT_WAKE_LOCK ○ SCREEN_DIM_WAKE_LOCK ○ PARTIAL_WAKE_LOCK
31.
AlarmManager ● ELAPSED_REALTIME ● ELAPSED_REALTIME_WAKEUP ●
RTC ● RTC_WAKEUP
32.
Q&A
Download