말 그대로다.
왜그런지 모르겠는데, 두 개의 activity 에서 각각 async Task 를 실행시키니 동시에 돌아가지 않았다.
정확하게는 Acitvity * 2 가 아니라, Service 1 , Activity 1 에 각각 async Task 가 돌아가고 있는거지.
이리저리 디비그 코드를 찍어 본 결과, AsyncTask 는 둘 중 하나만 돌아가는 걸 확인했다.
그런데 인터넷 뒤져보니, Async Task 는 원래 중복으로 돌아가는 거란다. 그것도 128개까지 동시 돌릴 수 있다네?
통박으로 찍어보면, 아마도
1. 원래 asynctask 두 개 다 쓸 수 있는게 맞는 건데 내가 코드를 잘 못 짰거나
2. 하나의 Activity 에서는 중복해서 쓸 수 있지만, 여러 Activity 가 중복된 상태에서 각각 async task 를 중복해서 돌리는 건 안되거나
예 : Activity_A 에서 asyncTask1 , asyncTask2 를 돌리는 건 원래 되는거고
Activity_A 에서 asyncTask1 돌리고, Activity_B 를 띄워서 asyncTask2 를 돌리는 건 안되는 거 ?
3. Activity 끼리는 중첩 + 중복실행해도 되지만, Service + Acitivty 로 중첩해서 쓰면 안되거나?
뭐가 맞는지는 모르겠다. 현상은 "인터넷 찾아보니 된다고 하는 거 같은데, 실제 내가 해보니 안되는" 상황.
결국 Async Task + Handler 로 해결하긴 했다.
혹시 누군가가 테스트 해 봤거나, 정확한 실행을 알고 있다면 답글부탁.
'프로그램 > 안드로이드' 카테고리의 다른 글
앱이 background 상태일때, FCM Notification event handler 를 수신하지 못하는 경우. (6) | 2017.03.31 |
---|---|
Android PhoneCall 과 sms 는 동시에 못 쓰나? (0) | 2017.03.23 |
AlertDialog 에서 token null is not for an application 에러. (0) | 2017.02.14 |
안드로이드 에러 : Service Intent must be explicit (0) | 2017.02.10 |
안드로이드 스튜디오에서 외부 라이브러리가 추가되지 않을때 (0) | 2016.11.23 |