diff --git a/app/build.gradle b/app/build.gradle
index 7e835f5afa..96847bf8b6 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -108,7 +108,5 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
-// compile ('com.facebook.fresco:fresco:0.9.0') {
-// exclude module: 'support-v4'
-// }
+ compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.16'
}
\ No newline at end of file
diff --git a/app/libs/alicloud-android-sdk-httpdns-1.0.6.jar b/app/libs/alicloud-android-sdk-httpdns-1.0.6.jar
new file mode 100644
index 0000000000..da9bda3804
Binary files /dev/null and b/app/libs/alicloud-android-sdk-httpdns-1.0.6.jar differ
diff --git a/app/libs/utdid4all-1.0.4.jar b/app/libs/utdid4all-1.0.4.jar
new file mode 100644
index 0000000000..34815c3497
Binary files /dev/null and b/app/libs/utdid4all-1.0.4.jar differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 46f1c527aa..c30fd6ea9e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -38,6 +38,8 @@
+
+
> imageCache = new ArrayMap>();
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);
@@ -39,18 +45,21 @@ public class ImageUtils {
return singleton;
}
- private ImageUtils(Context context, int size) {
+ private ImageUtils(Context context, int size) {
options = new DisplayImageOptions.Builder().cacheInMemory(true)
.cacheOnDisk(true).considerExifParams(true)
.bitmapConfig(Bitmap.Config.RGB_565)
+ .imageScaleType(ImageScaleType.IN_SAMPLE_INT)
// .showImageOnLoading(R.drawable.ocupy)
// .showImageForEmptyUri(R.drawable.ocupy)
// .showImageOnFail(R.drawable.ocupy)
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
- context).writeDebugLogs().build();
+ context).writeDebugLogs()
+ .memoryCacheExtraOptions(480, 800)
+ .build();
ImageLoader.getInstance().init(config);
imageLoader = ImageLoader.getInstance();
@@ -130,17 +139,81 @@ public class ImageUtils {
});
}
- public void display(String url, ImageView imageView, ScaleType scaleType) {
- display(url, imageView, R.drawable.ocupy, scaleType, null);
- }
+ public void display(final String url, final ImageView imageView,
+ final int drawable, final ScaleType scaleType,
+ final OnLoadingCompleteListener listener, final int i) {
+ imageLoader.displayImage(url, imageView, options,
+ new ImageLoadingListener() {
+ @Override
+ public void onLoadingComplete(String imageUri, View view,
+ Bitmap loadedImage) {
+ WeakReference bitmapWeakReference = imageCache.get(imageUri);
+ try {
+ if (bitmapWeakReference!=null){
+ Bitmap bitmap = bitmapWeakReference.get();
+ imageView.setImageBitmap(bitmap);
+ }else {
+ Matrix m = new Matrix();
+ m.setRotate(i, (float) loadedImage.getWidth() / 2, (float) loadedImage.getHeight() / 2);
+ Bitmap bm1 = Bitmap.createBitmap(loadedImage, 0, 0, loadedImage.getWidth(), loadedImage.getHeight(), m, true);
+ imageView.setImageBitmap(bm1);
+ WeakReference weakBM = new WeakReference(bm1);
+ imageCache.put(imageUri, weakBM);
+ }
- public void display(String url, ImageView imageView) {
- display(url, imageView, R.drawable.ocupy, ScaleType.FIT_XY, null);
- }
+ } catch (OutOfMemoryError ex) {
+ Utils.log("Bitmap:::内存溢出");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (imageView instanceof CircleImageView) {
+ imageView.setScaleType(ScaleType.CENTER_CROP);
+ } else {
+ imageView.setScaleType(scaleType);
+ }
+ if (listener != null) {
+ listener.onLoadingComplete();
+ }
+ }
- public void display(String url, ImageView imageView, ScaleType scaleType, OnLoadingCompleteListener listener) {
- display(url, imageView, R.drawable.ocupy, scaleType, listener);
- }
+ @Override
+ public void onLoadingStarted(String imageUri, View view) {
+ imageView.setScaleType(ScaleType.CENTER);
+ if (drawable != -1) {
+ imageView.setImageResource(drawable);
+ }
+ }
+
+ @Override
+ public void onLoadingCancelled(String imageUri, View view) {
+
+ }
+
+ @Override
+ public void onLoadingFailed(String imageUri, View view,
+ FailReason reason) {
+
+ }
+ });
+ }
+
+
+ public void display(String url, ImageView imageView, ScaleType scaleType) {
+ display(url, imageView, R.drawable.ocupy, scaleType, null);
+ }
+
+ public void display(String url, ImageView imageView) {
+ display(url, imageView, R.drawable.ocupy, ScaleType.FIT_XY, null);
+ }
+
+ //旋转图片 i表示角度
+ public void display(String url, ImageView imageView, int i, boolean isHorizontal) {
+ display(url, imageView, R.drawable.ocupy, ScaleType.FIT_XY, null, i);
+ }
+
+ public void display(String url, ImageView imageView, ScaleType scaleType, OnLoadingCompleteListener listener) {
+ display(url, imageView, R.drawable.ocupy, scaleType, listener);
+ }
public void display(String url, ImageView imageView, OnLoadingCompleteListener listener) {
display(url, imageView, R.drawable.ocupy, ScaleType.FIT_XY, listener);
diff --git a/app/src/main/java/com/gh/download/DownloadThread.java b/app/src/main/java/com/gh/download/DownloadThread.java
index 02c89ff86a..dec015efd8 100644
--- a/app/src/main/java/com/gh/download/DownloadThread.java
+++ b/app/src/main/java/com/gh/download/DownloadThread.java
@@ -4,6 +4,7 @@ import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
+import com.gh.common.util.HttpdnsUtils;
import com.gh.common.util.Trace;
import com.gh.common.util.Utils;
@@ -52,14 +53,28 @@ public class DownloadThread extends Thread {
fileOutputStream = new FileOutputStream(entry.getPath());
}
+ //Httpdns替换地址
+ String newUrl = HttpdnsUtils.getUrls(context, entry.getUrl());
+ if (newUrl == null){
+ newUrl = entry.getUrl();
+ Utils.log("HttpDnsService::获取新地址失败,用原地址进行下载,原地址为::"+newUrl);
+ }else {
+ Utils.log("HttpDnsService::获取新地址成功,目标地址为::"+newUrl);
+ }
+
URL url = new URL(entry.getUrl());
- HttpURLConnection connection = (HttpURLConnection) url
- .openConnection();
+// HttpURLConnection connection = (HttpURLConnection) url
+// .openConnection();
+ HttpURLConnection connection = (HttpURLConnection) new URL(newUrl).openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(CONNECT_TIME);
connection.setReadTimeout(READ_TIME);
connection.setRequestProperty("RANGE",
"bytes=" + targetFile.length() + "-");
+
+ // 设置HTTP请求头Host域
+ connection.setRequestProperty("Host",url.getHost());
+
//设置自动重定向
connection.setInstanceFollowRedirects(true);
Trace.getInstance().debug(DownloadThread.class.getSimpleName(),
diff --git a/app/src/main/java/com/gh/gamecenter/NewsActivity.java b/app/src/main/java/com/gh/gamecenter/NewsActivity.java
index 70be43d390..cffc9ba024 100644
--- a/app/src/main/java/com/gh/gamecenter/NewsActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/NewsActivity.java
@@ -1,8 +1,10 @@
package com.gh.gamecenter;
+import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -32,6 +34,7 @@ import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import android.widget.Toast;
import com.android.volley.NoConnectionError;
import com.android.volley.Response;
@@ -135,8 +138,10 @@ public class NewsActivity extends BaseActivity implements OnClickListener {
private double R11;
private int mActivePointerId;
private WebSettings webSettings;
- private int defaultTextZoom = 100;
+ private int defaultTextZoom = 85;
private int scrollSize = 300;//滑动距离超过300触发事件(放大缩小字体)
+ private SharedPreferences sp;
+ private int fontsize;
private DataWatcher dataWatcher = new DataWatcher() {
@Override
@@ -241,6 +246,31 @@ public class NewsActivity extends BaseActivity implements OnClickListener {
}
});
}
+ sp = getSharedPreferences(Config.PREFERENCE, Activity.MODE_PRIVATE);
+ fontsize = sp.getInt("fontsize",1);
+ if (fontsize == 0){
+ fontsize = 1;
+ }
+ }
+
+ private void saveFontSize(int size){
+ SharedPreferences.Editor edit = sp.edit();
+ edit.putInt("fontsize",size);
+ edit.apply();
+ }
+ private String getFontSize(int i){
+ switch (i){
+ case 1:
+ return "小字号";
+ case 2:
+ return "中字号";
+ case 3:
+ return "大字号";
+ case 4:
+ return "特大字号";
+ default:
+ return "未知字号";
+ }
}
/**
@@ -270,13 +300,19 @@ public class NewsActivity extends BaseActivity implements OnClickListener {
float R2 = (X2 * X2) + (Y2 * Y2);
double R12 = Math.sqrt(R2);
if (isSecondDown && webSettings != null) {
- if ((R11 - R12) > scrollSize) {
- defaultTextZoom -= 10;
- webSettings.setTextZoom(defaultTextZoom);
+ if ((R11 - R12) > scrollSize&&fontsize>1) {
+ fontsize --;
+ webSettings.setTextZoom(defaultTextZoom+15*fontsize);
+ saveFontSize(fontsize);
+ String fontSizeText = getFontSize(fontsize);
+ Toast.makeText(this,fontSizeText,Toast.LENGTH_SHORT).show();
}
- if ((R11 - R12) < -scrollSize) {
- defaultTextZoom += 10;
- webSettings.setTextZoom(defaultTextZoom);
+ if ((R11 - R12) < -scrollSize&&fontsize<4) {
+ fontsize ++;
+ webSettings.setTextZoom(defaultTextZoom+15*fontsize);
+ saveFontSize(fontsize);
+ String fontSizeText = getFontSize(fontsize);
+ Toast.makeText(this,fontSizeText,Toast.LENGTH_SHORT).show();
}
}
break;
@@ -1032,6 +1068,7 @@ public class NewsActivity extends BaseActivity implements OnClickListener {
webSettings = holder.essaydetails_wv_content.getSettings();
webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
webSettings.setJavaScriptEnabled(true);
+ webSettings.setTextZoom(defaultTextZoom+fontsize*15);
holder.essaydetails_wv_content.loadDataWithBaseURL(null, entity.getContent(), "text/html", "utf-8", null);
holder.essaydetails_wv_content.setWebViewClient(new WebViewClient() {
@Override
diff --git a/app/src/main/java/com/gh/gamecenter/SettingActivity.java b/app/src/main/java/com/gh/gamecenter/SettingActivity.java
index 03261f22b1..b84d53a887 100644
--- a/app/src/main/java/com/gh/gamecenter/SettingActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SettingActivity.java
@@ -15,9 +15,9 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.ProgressBar;
+import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
-import android.widget.Toast;
import com.android.volley.Response;
import com.android.volley.VolleyError;
@@ -59,7 +59,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
private SwitchButton setting_sb_autoinstall, setting_sb_autodelete,
setting_sb_deletedata, setting_sb_autoupdate;
private TextView setting_tv_version, app_tv_speed, app_tv_percent,
- app_btn_cancel, setting_tv_cache;
+ app_btn_cancel, setting_tv_cache,setting_tv_size;
private ProgressBar app_pb_progress;
private SharedPreferences sp;
@@ -73,6 +73,8 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
private Handler handler = new Handler();
+ private int checkSizeIndex;
+
private DataWatcher dataWatcher = new DataWatcher() {
@Override
@@ -147,12 +149,17 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
setting_sb_autodelete.setChecked(sp.getBoolean("autodelete", true));
setting_sb_deletedata.setChecked(sp.getBoolean("deletedata", true));
setting_sb_autoupdate.setChecked(sp.getBoolean("autoupdate", true));
+ checkSizeIndex = sp.getInt("fontsize",1);
if (sp.getBoolean("isShowDisclaimer", false)) {
TextView setting_tv_disclaimer = (TextView) findViewById(R.id.setting_tv_disclaimer);
setting_tv_disclaimer.setVisibility(View.VISIBLE);
setting_tv_disclaimer.setOnClickListener(this);
}
+ if (checkSizeIndex == 0){
+ checkSizeIndex = 1;
+ }
+ fontTextSize(checkSizeIndex);
}
// 获取缓存大小
@@ -196,6 +203,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
mEditor.putBoolean("autodelete", setting_sb_autodelete.isChecked());
mEditor.putBoolean("deletedata", setting_sb_deletedata.isChecked());
mEditor.putBoolean("autoupdate", setting_sb_autoupdate.isChecked());
+ mEditor.putInt("fontsize",checkSizeIndex);
mEditor.apply();
}
@@ -239,38 +247,62 @@ public class SettingActivity extends BaseActivity implements OnClickListener {
}
break;
case R.id.setting_rl_font_size:
- final Dialog dialog = new Dialog(this);
- View inflate = LayoutInflater.from(this).inflate(R.layout.dialog_font_size, null);
- TextView tv_negative = (TextView) inflate.findViewById(R.id.font_size_negative);
- TextView tv_positive = (TextView) inflate.findViewById(R.id.font_size_positive);
- final RadioGroup radioGroup = (RadioGroup) inflate.findViewById(R.id.font_size_radiogroup);
- tv_negative.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- dialog.cancel();
- }
- });
- tv_positive.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- int checkedRadioButtonId = radioGroup.getCheckedRadioButtonId();
- int index = checkedRadioButtonId % 4;
- if (index == 0) {
- index = 4;
- }
- Toast.makeText(getApplicationContext(), "" +index, Toast.LENGTH_SHORT).show();
- dialog.cancel();
- }
- });
- dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
- dialog.setContentView(inflate);
- dialog.show();
+ fontSize();
break;
default:
break;
}
}
+ private void fontTextSize(int i){
+ switch (i){
+ case 1:
+ setting_tv_size.setText("小字号");
+ break;
+ case 2:
+ setting_tv_size.setText("中字号");
+ break;
+ case 3:
+ setting_tv_size.setText("大字号");
+ break;
+ case 4:
+ setting_tv_size.setText("特大字号");
+ break;
+ }
+ }
+
+ //设置正文字号
+ private void fontSize() {
+ final Dialog dialog = new Dialog(this);
+ View inflate = LayoutInflater.from(this).inflate(R.layout.dialog_font_size, null);
+ TextView tv_negative = (TextView) inflate.findViewById(R.id.font_size_negative);
+ TextView tv_positive = (TextView) inflate.findViewById(R.id.font_size_positive);
+ final RadioGroup radioGroup = (RadioGroup) inflate.findViewById(R.id.font_size_radiogroup);
+ ((RadioButton)(radioGroup.getChildAt(checkSizeIndex-1))).setChecked(true);
+
+ tv_negative.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ dialog.cancel();
+ }
+ });
+ tv_positive.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ checkSizeIndex = radioGroup.getCheckedRadioButtonId() % 4;
+
+ if (checkSizeIndex == 0){
+ checkSizeIndex = 4;
+ }
+ dialog.cancel();
+ saveCurrentSetting();
+ fontTextSize(checkSizeIndex);
+ }
+ });
+ dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
+ dialog.setContentView(inflate);
+ dialog.show();
+ }
// 清除缓存
private void claerCache() {
diff --git a/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java b/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java
index d243430368..96b4670e17 100644
--- a/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java
@@ -1,6 +1,7 @@
package com.gh.gamecenter;
import android.content.Intent;
+import android.content.res.Configuration;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -22,16 +23,17 @@ import com.gh.common.util.ImageUtils;
import com.gh.common.view.Gh_ImageLayout;
import com.gh.common.view.Gh_ImageLayout.OnSingleTapListener;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
-//import com.facebook.drawee.backends.pipeline.Fresco;
-//import com.facebook.drawee.backends.pipeline.PipelineDraweeControllerBuilder;
-//import com.facebook.drawee.view.SimpleDraweeView;
-//import com.facebook.imagepipeline.request.ImageRequest;
-//import com.facebook.imagepipeline.request.ImageRequestBuilder;
+import pl.droidsonroids.gif.GifDrawable;
+import pl.droidsonroids.gif.GifImageView;
+
/**
* 查看游戏截图页面
@@ -49,7 +51,9 @@ public class ViewImageActivity extends BaseActivity implements
private int current;
private int width;
private String scaleType;
-
+ private ImageView imageView;
+ private boolean isOrientation;
+ private boolean isLoading = false;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
@@ -95,6 +99,7 @@ public class ViewImageActivity extends BaseActivity implements
if (savedInstanceState != null) {
current = savedInstanceState.getInt("currentItem", 0);
+ isOrientation = savedInstanceState.getBoolean("isOrientation");
}
setContentView(R.layout.activity_viewimage);
@@ -116,12 +121,25 @@ public class ViewImageActivity extends BaseActivity implements
viewimage_vp_show.setAdapter(adapter);
viewimage_vp_show.setCurrentItem(current);
viewimage_vp_show.addOnPageChangeListener(this);
+
+ if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
+
+ {
+ isOrientation = true; // 横屏
+
+ } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
+
+ {
+ isOrientation = false;// 竖屏
+
+ }
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("currentItem", viewimage_vp_show.getCurrentItem());
+ outState.putBoolean("isOrientation", isOrientation);
}
private class ViewImageAdapter extends PagerAdapter implements
@@ -129,6 +147,9 @@ public class ViewImageActivity extends BaseActivity implements
@Override
public int getCount() {
+ if (urls == null) {
+ return 0;
+ }
return urls.size();
}
@@ -138,30 +159,29 @@ public class ViewImageActivity extends BaseActivity implements
Gh_ImageLayout view = (Gh_ImageLayout) View.inflate(container.getContext(),
R.layout.viewimage_item, null);
view.setOnSingleTapListener(this);
-// if (url.contains(".gif")) {
-// SimpleDraweeView simpleDraweeView = (SimpleDraweeView) view.findViewById(R.id.test_gif);
-// ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url))
-// .build();
-// PipelineDraweeControllerBuilder controllerBuilder = Fresco.newDraweeControllerBuilder()
-// .setAutoPlayAnimations(true)
-// .setTapToRetryEnabled(true)
-// .setImageRequest(imageRequest);
-// simpleDraweeView.setController(controllerBuilder.build());
-// ViewParent parent = simpleDraweeView.getParent();
-//
-// if (parent != null) {
-// ViewGroup parent1 = (ViewGroup) parent;
-// parent1.removeView(simpleDraweeView);
-// }
-// container.addView(simpleDraweeView);
-// return simpleDraweeView;
-//
-// } else {
- ImageView imageView = (ImageView) view.findViewById(R.id.viewimage_iv_show);
+ if (url.contains(".gif")) {
+ GifImageView gifImageView = (GifImageView) view.findViewById(R.id.gifView);
+ ViewParent parent = gifImageView.getParent();
+ if (!isLoading) {
+ LoadGifData(gifImageView, urls.get(position));
+ }
+
+ if (parent != null) {
+ ViewGroup parent1 = (ViewGroup) parent;
+ parent1.removeView(gifImageView);
+ }
+ container.addView(gifImageView);
+ return gifImageView;
+
+ } else {
+ imageView = (ImageView) view.findViewById(R.id.viewimage_iv_show);
if (scaleType != null) {
ImageUtils.getInstance(getApplicationContext()).display(
urls.get(position), imageView, ScaleType.FIT_CENTER);
- } else {
+ } else if (isOrientation && imageView.getDrawable() == null) {
+ ImageUtils.getInstance(getApplicationContext()).display(
+ urls.get(position), imageView, 270, isOrientation);
+ } else if (imageView.getDrawable() == null) {
ImageUtils.getInstance(getApplicationContext()).display(
urls.get(position), imageView);
}
@@ -177,10 +197,52 @@ public class ViewImageActivity extends BaseActivity implements
view.setTag(position);
container.addView(imageView);
return imageView;
-// }
+ }
}
+ private void LoadGifData(final GifImageView gifImageView, final String gifUrl) {
+ isLoading = true;
+ gifImageView.setImageResource(R.drawable.ocupy);
+ gifImageView.setScaleType(ScaleType.CENTER);
+ final GifDrawable[] gifDrawable = {null};
+ new Thread(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ URL url = new URL(gifUrl);
+ HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+ conn.setRequestMethod("GET");
+ conn.setConnectTimeout(5 * 1000);
+ conn.setReadTimeout(5 * 1000);
+ conn.connect();
+ if (conn.getResponseCode() == 200) {
+ InputStream inputStream = conn.getInputStream();
+ ByteArrayOutputStream output = new ByteArrayOutputStream();
+ byte[] data = new byte[1024 * 5];
+ int count = -1;
+ while ((count = inputStream.read(data, 0, 1024 * 5)) != -1) {
+ output.write(data, 0, count);
+ }
+ byte[] bytes = output.toByteArray();
+ gifDrawable[0] = new GifDrawable(bytes);
+ handler.post(new Runnable() {
+ @Override
+ public void run() {
+ gifImageView.setImageDrawable(gifDrawable[0]);
+ gifImageView.setScaleType(ScaleType.FIT_CENTER);
+ }
+ });
+ }
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }).start();
+ }
+
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
@@ -235,6 +297,10 @@ public class ViewImageActivity extends BaseActivity implements
int code = connection.getResponseCode();
if (code == 200) {
//图片存在
+ if (urls == null) {
+ return;
+ }
+ //urls出现空指针
for (int i = 0, size = urls.size(); i < size; i++) {
if (urls.get(i).equals(url)) {
urls.set(i, newUrl);
@@ -260,5 +326,7 @@ public class ViewImageActivity extends BaseActivity implements
viewimage_slide_line = null;
rparams = null;
urls = null;
+ imageView = null;
+ System.gc();
}
}
diff --git a/app/src/main/res/layout/dialog_font_size.xml b/app/src/main/res/layout/dialog_font_size.xml
index 9407b4fff2..8101bd9667 100644
--- a/app/src/main/res/layout/dialog_font_size.xml
+++ b/app/src/main/res/layout/dialog_font_size.xml
@@ -32,13 +32,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/reuse_radiobutton_item_style"
- android:text="特大字号" />
-
-
+ android:text="小字号" />
- android:text="小字号" />
+
-
-
-
-
-
-
+