I am trying to implement solution for stopping execution of methods inside doInBackground method. As far as I know, doInBackground executes in other thread so I am wondering if this will work everytime I try it to run. Is it possible that downloading second and third data will execute, because change of shouldDo flag will not be seen by doInBackground thread?
Here is simple code, which I wrote especially for this example:
When I run above code, it works as I expected. Clicking on the back button after "downloading first data..." log goes to onPostExecute immediately after finished current downloading.
I will be very greatful for the answer if this above code will work every time I try it to run, but I solved this in this way (better, because I don't have to wait for end of current downloading):