在安卓中肯定要涉及和服务器交互的问题,而交互中会涉及各种各样的数据类型。其中少不了让人头疼的一个就是图像。
常识告诉我们,如果用APP不流畅的话会给用户很差的体验,如果我们刷朋友圈,每张图片都5M,那我们的网速肯定刷很久才能刷出来图片。所以交互的时候肯定很不流畅。这就涉及了图片的压缩处理。
安卓端的压缩可以用一些第三方框架,比如Glide等。但是本篇文章介绍几个不使用框架的压缩方式。
一.分辨率压缩
public static Bitmap scaleBitmap(Bitmap origin, int width){ int originWidth = origin.getWidth(); int height = width * origin.getHeight() / originWidth; return Bitmap.createScaledBitmap(origin, width, height, false); }
使用时即可输入相应的宽度即可按分辨率压缩图片
二.质量压缩
picture.compress(Bitmap.CompressFormat.JPEG, 77, new FileOutputStream(mFile));要注意,只有JPEG的图片可以按质量压缩,如果是PNG格式是不可以的,77代表质量比,如果是100相当于没压缩