Asynctask DoInBackground () nie jest wywoływany w tablecie Android

Praca nad aplikacją na Androida Użyłem klasy Asynctask, działa dobrze, gdy testowałem na moim urządzeniu z Androidem działającym na 2.3.5, ale problem, z którym się borykam, nie działa dla mojego tabletu 4.0.4

Podczas testowania dowiedzieliśmy się, że prexecute () jest wywoływane, ale nie wywołuje się doInbackground (), jednak na urządzeniu wywoływane jest doInbackground () (2.3.5).

Jednym z powodów, dla których uważam, że problem jest taki, że procesor tabletu jest znacznie szybszy niż procesor urządzenia, więc może być kilka problemów z wątkami, dats, dlaczego, aby sobie z tym poradzić, użyłem kilku flag i użyłem Thread.sleep () w pętli do while, tak że gdy warunek jest prawdziwy, działa, ale nie ma szczęścia, utknąłem w samej pętli. Oto mój kod:

MyAsyncTask object = new MyAsyncTask (MainActivity.this);
runOnUiThread(new Runnable() {
    public void run() {         

        try {
            if (object.isReady() || !object.isStarting()) {
                return;
            }

            object.execute();

            do {
                Thread.sleep(1000);             
            } while (!object.isReady() && object.isStarting());

            if(!object.isReady()) { 
                return;
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }           
});

AsynctaskClass:

public class MyAsyncTask extends AsyncTask<Void, Void, Boolean>{

    private ProgressDialog dialog;
    private Context context;
    private boolean isStarting = false;
    private boolean isReady = false;


    public AsyncUpdatesofJquery(Context context) {
        this.context = context;
        isStarting = true;
        isReady = false;
    }

    public boolean isStarting() {
        return isStarting;
    }

    public boolean isReady() {
        return isReady;
    }

    @Override
    protected void onPreExecute() {

        isStarting = true;
        isReady = false;
        dialog = new ProgressDialog(context); 
        dialog.setMessage("Downloading Files, Please wait...");
        dialog.show();
    }

    @Override
    protected Boolean doInBackground(Void... params) {

        isReady = true;
        isStarting = false;
        downloadFiles(context); // my background task

        return true;
    }

    @Override
    protected void onPostExecute(Boolean result) {
        super.onPostExecute(result);
        context.startActivity(new Intent(context, NewActivity.class));
        dialog.dismiss();
        isReady = false;
        isStarting = false;

    }
}

questionAnswers(1)

yourAnswerToTheQuestion