Android的数据处理方案

Android中的压缩处理工具

2018-02-01  本文已影响0人  我在Bug的尽头等你

1.FontZip

字体提取工具

可用作APK字体压缩 用于提取仅需要的美化文字,来压缩assets下的字体文件大小。

具体可以点击上面链接查看。

简单演示

2.Luban

Luban(鲁班) —— Android图片压缩工具,仿微信朋友圈压缩策略。

逆向推算,压缩图片的算法步骤

导入:

compile'top.zibin:Luban:1.1.3'

使用:

异步调用

Luban内部采用IO线程进行图片压缩,外部调用只需设置好结果监听即可:

Luban.with(this) .load(photos)//传人要压缩的图片列表

.ignoreBy(100)//忽略不压缩图片的大小

.setTargetDir(getPath())//设置压缩后文件存储位置

.setCompressListener(newOnCompressListener() {

//设置回调@Override

publicvoidonStart() {

//TODO 压缩开始前调用,可以在方法内启动 loading UI}

@Override

publicvoidonSuccess(Filefile) {//TODO 压缩成功后调用,返回压缩后的图片文件}

@Override

publicvoidonError(Throwablee) {

//TODO 当压缩过程出现问题时调用} })

.launch();//启动压缩

同步调用

同步方法请尽量避免在主线程调用以免阻塞主线程,下面以rxJava调用为例

Flowable.just(photos)

 .observeOn(Schedulers.io()) 

 .map(new Function<List<String>,List<File>>() {

@Override  public  List  apply(@NonNull List <String>list) throws  Exception { 

//同步方法直接返回压缩后的文件

returnLuban.with(MainActivity.this).load(list).get();

 }

 })

 .observeOn(AndroidSchedulers.mainThread())

 .subscribe();

谢谢关注,未完待续。。。

上一篇下一篇

猜你喜欢

热点阅读