AsyncTask를 이용하여 화면에 ProgressDialog를 띄우고 작업을 종료 하는것 까지는 잘 됩니다.


그런데 액티비티를 빠져나왔을 경우 AsyncTask를 완전히 종료하고 싶은데 DDMS의 Threads를 확인해보면


상태가 wait로만 되어 있고, 사라지지 않더군요,


일반적인 Thread로 작업 할 경우 일반 thread는 사라지는데 말이죠


혹시 AsyncTask를 종료 하시는법 아시는분 있으시면 작은 가르침 바랍니다


현재 저의 코드는 아래와 같이 되어 있습니다.


private class MyAsyncTask extends AsyncTask<Void, Void, Void>

{

@Override protected void onPreExecute() { super.onPreExecute(); progressDialog = ProgressDialog.show(Memory.this, "Title", "Message", false, false); } @Override protected Void doInBackground(Void... arg0) { Log.e(TAG, "MountServiceTask"); myWork(); return null; } @Override protected void onPostExecute(Void result) { super.onPostExecute(result); progressDialog.dismiss(); progressDialog = null; }

}


@Override

    protected void onDestroy() {

    Log.e(TAG, "onDestroy");

if(myTask != null) { Log.e(TAG, "myTask is not null"); myTask .cancel(true); Log.e(TAG, "myTask isCanceled[" + myTask .isCancelled() + "] myTask .getStatus()[" + myTask .getStatus() + "]"); myTask = null; } else { Log.e(TAG, "myTask is Null"); }

}