Commit d3446114 authored by bixing's avatar bixing

fix

parent a358c220
......@@ -11,6 +11,7 @@ import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
......@@ -132,6 +133,7 @@ import java.io.OutputStream;
private Uri uri = null;
private String path;
private Bitmap bitmap;
private void initData() {
Intent intent = getIntent();
......@@ -145,7 +147,7 @@ import java.io.OutputStream;
if (path == null || path.isEmpty()) {
Toast.makeText(this, getString(R.string.app_toast_the_file_is_corrupted), Toast.LENGTH_SHORT).show();
} else {
Bitmap bitmap = BitmapFactory.decodeFile(path);
bitmap = BitmapFactory.decodeFile(path);
ExifInterface exif = null;
try {
exif = new ExifInterface(path);
......@@ -157,7 +159,7 @@ import java.io.OutputStream;
}
public void setImageBitmap(Bitmap bitmap, ExifInterface exif) {
if (bitmap == null) {
if (bitmap == null || bitmap.isRecycled()) {
return;
}
......@@ -165,16 +167,24 @@ import java.io.OutputStream;
int orientation = exif != null ? exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL) : ExifInterface.ORIENTATION_NORMAL;
int rotate = getRotateValueForOrientation(orientation);
LogUtils.e(rotate+"");
if (rotate != 0) {
matrix.postRotate(rotate);
}
Bitmap rotatedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
if (rotatedBitmap != null) {
imageView.setImageBitmap(rotatedBitmap);
}
if (bitmap.isRecycled()) {
return;
}
try {
bitmap.recycle();
} catch (Exception e) {
e.printStackTrace();
}
} else {
imageView.setImageBitmap(bitmap);
}
}
private Bitmap rotateBitmapIfNecessary(Bitmap bitmap, ExifInterface exif) {
......@@ -240,6 +250,17 @@ import java.io.OutputStream;
return resultPath;
}
@Override
protected void onDestroy() {
super.onDestroy();
imageView.setImageDrawable(null);
imageView.setImageBitmap(null);
if (bitmap == null || bitmap.isRecycled()) {
return;
}
bitmap.recycle();
}
public static void startPictureTranslateShowPhotoActivity(Context context, Uri uri) {
Intent intent = new Intent(context, PictureTranslateShowPhotoActivity.class);
intent.putExtra("uri", uri);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment