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