Hi all,

Be one of Android developers, you must be aware of  the
ANR(Application Not Responding) very well and understand how to avoid
it. There are many ways you can choose to do. I usually create a
thread and use a flag
to trigger it to handle time-consuming tasks. For example:

public class ActivityA extends Activity implements OnClickListener{
    private boolean isDestroyed = false;
    private FetchThread thread;

    public void onCreate(Bundle b){
        super.onCreate(b);
        .
        .
    }

    public void onDestroy(){
        super.onDestroy();
        isDestroyed = true;
    }

    public void onClick(View view){
        thread = new FetchThread();
        thread.setStartFlag(true);
        thread.start();
    }

    class FetchThread extends Thread{
        private boolean shouldStart = false;
        public void run(){
            while (!isDestroyed){
                if (shouldStart){
                    shouldStart = false;;
                    // do time-consuming task
                    // after task is finished, use handler to update
UI
                }
                try{
                    sleep(500);
               } catch (Exception ex){}

            }
        }

       public void setStartFlag(boolean b) {   shouldStart = b;}
    }
}

The above is the way I usually do and it's as the same as running one
background service. Does anyone be able to provide your solution? I
think my method is not very smart. :(

NightGospel

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to