Android處理執行緒暫停與恢復
阿新 • • 發佈:2019-01-25
classYourRunnableimplementsRunnable{privateObject mPauseLock;privateboolean mPaused;privateboolean mFinished;publicYourRunnable(){
mPauseLock =newObject();
mPaused =false;
mFinished =false;}publicvoid run(){while(!mFinished){// Do stuff.synchronized(mPauseLock){while(mPaused){try {
mPauseLock.wait();}catch(InterruptedException e){}}}}}/**
* Call this on pause.
*/publicvoid onPause(){synchronized(mPauseLock){
mPaused =true;}}/**
* Call this on resume.
*/publicvoid onResume(){synchronized(mPauseLock){
mPaused =false ;
mPauseLock.notifyAll();}}}