본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] Activity 가 아닌 곳에서 startActivity() 호출이 지양되는 이유.

by 돼지왕 왕돼지 2013. 9. 4.
반응형

 [android] Activity 가 아닌 곳에서 startActivity() 호출이 지양되는 이유.



activity back stack, activity stack, Android, back stack, broadcast, exception, exception flag_activity_new_task, flag_activity_new_task, Service, Stack, startActivity, startactivity exception, startactivity exception flag_activity_new_task, task, 스택, 안드로이드, 액티비티 스택





Activity 가 아닌 곳에서 startActivity() 를 호출하면 Exception 이 나곤 한다.

이 때 Exception 정보에서는 FLAG_ACTIVITY_NEW_TASK 를 추가하라는 메세지를 담곤 한다.

이는 안드로이드에서는 엑티비티를 stack 으로 관리하기 때문인데..


서비스나 Broadcast 같은 경우는 task 가 아니기 때문에 Activity 를 어떤 스택에 쌓아야 할지를 모른다. 하지만 FLAG_ACTIVITY_NEW_TASK 를 사용하는 경우에는 새로운 테스크에 stack을 쌓기 때문에

문제가 되지 않는 형태.


이제 Activity 가 아닌 곳에서 startActivity() 를 호출하지 말란 이유가 이해가 되겠지?






반응형

댓글