Compressor Android图像压缩库

Android 的图像压缩一直是老生常谈的痛点,大图加载慢,上传卡顿,还影响用户体验。Compressor这个库就挺好用,简单上手,压出来的图质量也还不错。

Compressor 的图像压缩方式挺灵活的,像Compressor.compress(context, actualImageFile)这种一行搞定的 API,用起来顺。你想偷懒,它有默认策略;你要自定义,比如设置宽高、输出路径,也都支持。

想把压缩后的图存在自定义位置?也没问题:

val compressedImageFile = Compressor.compress(context, actualImageFile) {
    default()
    destination(myFile)
}

嗯,这种链式写法我觉得还挺舒服的,不仅直观,代码量也少。

另外,库本身也不重,只需要在Gradle里加一句:

implementation 'id.zelory:compressor:3.0.0'

基本就可以用了,兼容性也还不错,我之前在 Android 10 和 11 上都跑得挺稳。

如果你平时经常跟用户上传头像、图片分享这类打交道,建议试试看这个库。压缩快、配置少,节省时间效果还不错。哦对了,它底层用的是Bitmap操作,注意别在 UI 线程里跑,免得卡顿。

zip
Compressor-master.zip 预估大小:53个文件
folder
Compressor-master 文件夹
file
.gitignore 66B
folder
app 文件夹
file
.gitignore 65B
file
build.gradle 1KB
folder
src 文件夹
folder
main 文件夹
file
AndroidManifest.xml 928B
folder
res 文件夹
folder
mipmap-xhdpi 文件夹
file
ic_launcher.png 5KB
folder
mipmap-mdpi 文件夹
file
ic_launcher.png 2KB
folder
layout 文件夹
file
activity_main.xml 4KB
folder
values-w820dp 文件夹
file
dimens.xml 358B
folder
mipmap-xxhdpi 文件夹
file
ic_launcher.png 8KB
folder
mipmap-hdpi 文件夹
file
ic_launcher.png 3KB
folder
mipmap-xxxhdpi 文件夹
file
ic_launcher.png 10KB
folder
values 文件夹
file
strings.xml 73B
file
colors.xml 208B
file
dimens.xml 211B
file
styles.xml 383B
folder
java 文件夹
folder
id 文件夹
folder
zelory 文件夹
folder
compressor 文件夹
folder
sample 文件夹
file
MainActivity.kt 6KB
file
FileUtil.java 3KB
file
proguard-rules.pro 668B
file
settings.gradle 30B
file
build.gradle 750B
file
ss.png 731KB
file
.travis.yml 760B
file
gradlew 5KB
file
README_v2.md 2KB
folder
.github 文件夹
file
FUNDING.yml 64B
file
README.md 4KB
file
gradlew.bat 2KB
file
gradle.properties 855B
folder
gradle 文件夹
folder
wrapper 文件夹
file
gradle-wrapper.properties 232B
file
gradle-wrapper.jar 52KB
folder
compressor 文件夹
file
.gitignore 65B
file
build.gradle 2KB
folder
src 文件夹
folder
main 文件夹
file
AndroidManifest.xml 42B
folder
java 文件夹
folder
id 文件夹
folder
zelory 文件夹
folder
compressor 文件夹
file
Util.kt 4KB
folder
constraint 文件夹
file
DefaultConstraint.kt 1KB
file
QualityConstraint.kt 741B
file
SizeConstraint.kt 1KB
file
DestinationConstraint.kt 611B
file
Constraint.kt 307B
file
Compression.kt 222B
file
ResolutionConstraint.kt 1KB
file
FormatConstraint.kt 769B
file
Compressor.kt 1KB
folder
test 文件夹
folder
java 文件夹
folder
id 文件夹
folder
zelory 文件夹
folder
compressor 文件夹
file
CompressorTest.kt 4KB
folder
constraint 文件夹
file
DefaultConstraintTest.kt 3KB
file
SizeConstraintTest.kt 4KB
file
ResolutionConstraintTest.kt 3KB
file
FormatConstraintTest.kt 2KB
file
QualityConstraintTest.kt 2KB
file
DestinationConstraintTest.kt 2KB
file
CompressionTest.kt 643B
file
UtilTest.kt 6KB
file
proguard-rules.pro 668B
...
zip 文件大小:835.31KB