나는 AsyncTask
을 실행 중입니다.로드하는 데 약간의 시간이 걸립니다. 그 기간 동안, 버튼을 다시 누르면 응답하지 않습니다. 몇 초 후에 만 반응합니다. 그렇다면 어떻게하면 AsyncTask
을 죽이거나 일시 중지하거나 무시할 수 있습니까? 아니면 비슷한 것을 할 수있는 다른 방법이 있습니까?뒤로 버튼을 누르면 안드로이드에서 asynctask를 멈추는 방법은 무엇입니까?
if (mainContent != null) {
mainContent.post(new Runnable() {
@Override
public void run() {
Bitmap bmp = Utilities.getBitmapFromView(mainContent);
BlurFilter blurFilter = new BlurFilter();
Bitmap blurredBitmap = blurFilter.fastblur(bmp,1,65);
asyncTask = new ConvertViews(blurredBitmap);
asyncTask.execute();
}
});
내 AsyncTask
:
class ConvertViews extends AsyncTask<Void,Void,Void> {
private Bitmap bmp;
public ConvertViews(Bitmap bmp){
this.bmp = bmp;
}
@Override
protected Void doInBackground(Void... params) {
try {
//Thread.sleep(200);
if(mainViewDrawable == null) {
mainViewDrawable = new BitmapDrawable(getResources(), bmp);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
내 onBackPressed()
:
asynch task instantly
.Every AsynchTask을 중지 할 수있는 방법이 없습니다되어
public void onBackPressed() {
super.onBackPressed();
asyncTask.cancel(true);
finish();
}
코드를 게시 하시겠습니까? –
이 플랫폼을 처음 사용합니다. 코드를 게시하려면 어떻게해야합니까? 게시하는 동안 오류가 표시됩니다. –
코드를 복사하여 편집 상자에 붙여넣고 편집 상자에서 코드를 모두 선택하고 Ctrl + K를 눌러 포맷하십시오. 그런 다음 제출하십시오. –