projects
/
pub
/
Android
/
ownCloud.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Minor changes after reviewing Bitmaps life cycle in PreviewImageFragment
[pub/Android/ownCloud.git]
/
src
/
com
/
owncloud
/
android
/
ui
/
preview
/
PreviewImageFragment.java
diff --git
a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java
b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java
index
9d1cd60
..
18e799b
100644
(file)
--- a/
src/com/owncloud/android/ui/preview/PreviewImageFragment.java
+++ b/
src/com/owncloud/android/ui/preview/PreviewImageFragment.java
@@
-202,12
+202,12
@@
public class PreviewImageFragment extends FileFragment {
@Override
public void onStop() {
@Override
public void onStop() {
-
super.onStop(
);
+
Log_OC.d(TAG, "onStop starts"
);
if (mLoadBitmapTask != null) {
mLoadBitmapTask.cancel(true);
mLoadBitmapTask = null;
}
if (mLoadBitmapTask != null) {
mLoadBitmapTask.cancel(true);
mLoadBitmapTask = null;
}
-
+ super.onStop();
}
/**
}
/**
@@
-329,6
+329,8
@@
public class PreviewImageFragment extends FileFragment {
if (mBitmap != null) {
mBitmap.recycle();
System.gc();
if (mBitmap != null) {
mBitmap.recycle();
System.gc();
+ // putting this in onStop() is just the same; the fragment is always destroyed by the ViewPager
+ // when swipes further than the valid offset, and onStop() is never called before than that
}
super.onDestroy();
}
}
super.onDestroy();
}
@@
-415,7
+417,7
@@
public class PreviewImageFragment extends FileFragment {
}
} catch (OutOfMemoryError e) {
}
} catch (OutOfMemoryError e) {
- Log_OC.
e(TAG, "Out of memory occured for file " + storagePath, e
);
+ Log_OC.
w(TAG, "Out of memory rendering file " + storagePath + " in full size; scaling down"
);
if (isCancelled()) return result;
if (isCancelled()) return result;
@@
-459,6
+461,10
@@
public class PreviewImageFragment extends FileFragment {
} else {
showErrorMessage();
}
} else {
showErrorMessage();
}
+ if (mBitmap != result) {
+ // unused bitmap, release it! (just in case)
+ result.recycle();
+ }
}
@SuppressLint("InlinedApi")
}
@SuppressLint("InlinedApi")
@@
-466,11
+472,10
@@
public class PreviewImageFragment extends FileFragment {
if (mImageViewRef != null) {
final ImageViewCustom imageView = mImageViewRef.get();
if (imageView != null) {
if (mImageViewRef != null) {
final ImageViewCustom imageView = mImageViewRef.get();
if (imageView != null) {
- imageView.setBitmap(result);
imageView.setImageBitmap(result);
imageView.setVisibility(View.VISIBLE);
imageView.setImageBitmap(result);
imageView.setVisibility(View.VISIBLE);
- mBitmap = result;
- }
// else , silently finish, the fragment was destroyed
+ mBitmap = result;
// needs to be kept for recycling when not useful
+ }
}
if (mMessageViewRef != null) {
final TextView messageView = mMessageViewRef.get();
}
if (mMessageViewRef != null) {
final TextView messageView = mMessageViewRef.get();