diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-04-12 22:08:21 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-04-12 22:08:21 -0700 |
| commit | 3d0c8e00e27ab222428265afb648f0bcf936733d (patch) | |
| tree | 1ccfddc9451fbaca463603fc13ced4519ede6319 | |
| parent | a06c6044a899f35cdd07ef1450f27852e985cc71 (diff) | |
| parent | 727dedd804641dac07970f0943143400d0a91255 (diff) | |
| download | android_packages_apps_Gallery2-3d0c8e00e27ab222428265afb648f0bcf936733d.tar.gz android_packages_apps_Gallery2-3d0c8e00e27ab222428265afb648f0bcf936733d.tar.bz2 android_packages_apps_Gallery2-3d0c8e00e27ab222428265afb648f0bcf936733d.zip | |
Merge "Gallery: improve timeline loading performance" into android_ui.lnx.1.2-dev
| -rw-r--r-- | src/com/android/gallery3d/app/TimeLineDataLoader.java | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/com/android/gallery3d/app/TimeLineDataLoader.java b/src/com/android/gallery3d/app/TimeLineDataLoader.java index bd2193ff9..be0f42cd3 100644 --- a/src/com/android/gallery3d/app/TimeLineDataLoader.java +++ b/src/com/android/gallery3d/app/TimeLineDataLoader.java @@ -38,14 +38,14 @@ import java.util.concurrent.FutureTask; public class TimeLineDataLoader { @SuppressWarnings("unused") private static final String TAG = "TimeLineDataLoader"; - private static final int DATA_CACHE_SIZE = 1000; + private static final int DATA_CACHE_SIZE = 96 * 2; private static final int MSG_LOAD_START = 1; private static final int MSG_LOAD_FINISH = 2; private static final int MSG_RUN_OBJECT = 3; private static final int MIN_LOAD_COUNT = 32; - private static final int MAX_LOAD_COUNT = 64; + private static final int MAX_LOAD_COUNT = 96 * 2; private final MediaItem[] mData; private final long[] mItemVersion; @@ -119,8 +119,7 @@ public class TimeLineDataLoader { } public MediaSet getMediaSet(int index) { - MediaSet mediaSet = ((ClusterAlbumSet)mSource).getAlbumFromindex(index); - return mediaSet; + return ((ClusterAlbumSet) mSource).getAlbumFromindex(index); } public MediaItem get(int index) { @@ -131,11 +130,7 @@ public class TimeLineDataLoader { } public int getTimeLineTitlesCount() { - return ((ClusterAlbumSet) mSource).getSubMediaSetCount(); - } - - public int getActiveStart() { - return mActiveStart; + return mSource.getSubMediaSetCount(); } public boolean isActive(int index) { @@ -376,11 +371,7 @@ public class TimeLineDataLoader { if (mActive && !mDirty && updateComplete && version != MediaObject.INVALID_DATA_VERSION) { updateLoading(false); - if (mFailedVersion != MediaObject.INVALID_DATA_VERSION) { - } Utils.waitWithoutInterrupt(this); - if (mActive && (mFailedVersion != MediaObject.INVALID_DATA_VERSION)) { - } continue; } mDirty = false; @@ -397,9 +388,10 @@ public class TimeLineDataLoader { info.version = version; } if (info.reloadCount > 0) { - info.items = mSource.getMediaItem(info.reloadStart, info.reloadCount); + int start = Math.max(info.reloadStart, mContentStart); + int end = Math.min(info.reloadStart + info.reloadCount, mContentEnd); + info.items = mSource.getMediaItem(start, end - start); } - executeAndWait(new UpdateContent(info)); } updateLoading(false); |
