2012-02-04 4 views
1

10 개의 숫자를 포함하는 ArrayList가 있다고 가정합니다. 내가 UI 스레드에서 배열을 반복하는 동안, 내가 좋아하는 SMS를 보내AsyncTask를 통해 SMS를 보내는 것이 안전합니까?

new smsAsyncTask().execute(new String[]{number,message}); 

public class smsAsyncTask extends AsyncTask <String,Void,Void>{ 

@Override 
    protected Void doInBackground(String... data) { 

      smsmanager.sendTextMessage(data[0], null, data[1], null, null); 

      return null; 

    } 

모든 SMS 전에 사용자 Return 키를 눌러 버튼이 전송 된 경우 AsyncTasks이 활동으로 살해 될 것입니다 내가 궁금하다? AsyncTasks를 사용하여 전송하는 대신 UI 스레드를 사용해야합니까? 가능한 한 빨리 UI를 유지하고 싶습니다.

+1

사용자가'AsyncTask'를 호스팅하는'Activity'를 종료하면 properley를 정리하지 않으면'doInBackground (...)'에 사용 된 스레드가 고아가 될 위험이 있습니다 (onPause)'예). 아마'AsyncTask' 또는 Activity에 의해 직접적으로 호스팅되는 것보다는 어떤 종류의 서비스 (아마도 IntentService)를 사용할 것입니다. – Squonk

답변

3

비동기 작업보다 신뢰할 수있는 서비스를 사용하는 것이 좋습니다. 비동기 작업은 포 그라운드에있는 작업에 따라 다릅니다.

관련 문제