프로그램/안드로이드

AsyncTask 는 중복해서 못 쓰나?

(주)CKBcorp., 2017. 3. 20. 06:00
반응형

말 그대로다. 

왜그런지 모르겠는데, 두 개의 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 로 해결하긴 했다.

혹시 누군가가 테스트 해 봤거나, 정확한 실행을 알고 있다면 답글부탁.


반응형