am 5f404299: am aa3687df: am 2e5555e0: Bitmapfun Sample: Fix bug where background image loading could hang
# Via Android Git Automerger (2) and Adam Koch (1) * commit '5f4042990ac33bd05cd4e3f48935d6eb0dc552c9': Bitmapfun Sample: Fix bug where background image loading could hang
This commit is contained in:
@@ -149,6 +149,7 @@ public class ImageGridFragment extends Fragment implements AdapterView.OnItemCli
|
|||||||
@Override
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
|
mImageFetcher.setPauseWork(false);
|
||||||
mImageFetcher.setExitTasksEarly(true);
|
mImageFetcher.setExitTasksEarly(true);
|
||||||
mImageFetcher.flushCache();
|
mImageFetcher.flushCache();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -150,6 +150,7 @@ public abstract class ImageWorker {
|
|||||||
|
|
||||||
public void setExitTasksEarly(boolean exitTasksEarly) {
|
public void setExitTasksEarly(boolean exitTasksEarly) {
|
||||||
mExitTasksEarly = exitTasksEarly;
|
mExitTasksEarly = exitTasksEarly;
|
||||||
|
setPauseWork(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -372,6 +373,18 @@ public abstract class ImageWorker {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pause any ongoing background work. This can be used as a temporary
|
||||||
|
* measure to improve performance. For example background work could
|
||||||
|
* be paused when a ListView or GridView is being scrolled using a
|
||||||
|
* {@link android.widget.AbsListView.OnScrollListener} to keep
|
||||||
|
* scrolling smooth.
|
||||||
|
* <p>
|
||||||
|
* If work is paused, be sure setPauseWork(false) is called again
|
||||||
|
* before your fragment or activity is destroyed (for example during
|
||||||
|
* {@link android.app.Activity#onPause()}), or there is a risk the
|
||||||
|
* background thread will never finish.
|
||||||
|
*/
|
||||||
public void setPauseWork(boolean pauseWork) {
|
public void setPauseWork(boolean pauseWork) {
|
||||||
synchronized (mPauseWorkLock) {
|
synchronized (mPauseWorkLock) {
|
||||||
mPauseWork = pauseWork;
|
mPauseWork = pauseWork;
|
||||||
|
|||||||
Reference in New Issue
Block a user