Android多进程压缩图片库
这两天也是重新找到了工作,总结了一下面试,发现被问到图片压缩的问题还是比较多的。所以我把以前写的一个图片压缩工具拿出来抽取成了一个库,一方面是复习一下这方面的知识,比如说AIDL的使用,图片压缩的多种方法等等,另一方面也希望被有这方面需求的小伙伴采纳或是提出意见和建议。
解释一下为什么要使用多进程压缩图片。由于压缩图片需要加载和操作Bitmap,这需要的内存非常大,有的低配手机就非常容易出现OOM的情况。由于多进程可以扩展应用内存,于是就有了这个方案。这样的话就算压缩进程崩溃也不会影响主进程的运行。在这个库中对压缩进程出现异常情况也进行了处理,如果出现奔溃或者通讯异常都会把压缩任务交还到主进程处理,这样就减少了一些不可预期的问题。
每天都要过得开心 ( ゜- ゜)つロ乾杯 !
Demo
Demo地址 https://github.com/wdzawdh/Compressor
使用方法
使用时把Demo中的compressor库粘贴到自己项目即可,当然可以打成arr或者jar包使用。需要使用的类只有一个ImageCompressor。
1.初始化
ImageCompressor imageCompressor = new ImageCompressor.Builder(context).setCompressFormat(CompressConfig.COMPRESS_WEBP).setMaxWidth(1028).setMaxHeight(1028).setMaxSize(700).setDestinationDir("压缩图片保存的文件夹(有默认)").startCompressProcess()//开启多进程压缩模式.build();
2.压缩图片
imageCompressor.compress(pickPhotoPath, new ImageCompressor.CompressImageListener() {@Overridepublic void onCompressSuccess(String basePath, String imgPath) {iv_content.setImageURI(Uri.parse("file://" + imgPath));}});
3.关闭进程
解绑压缩图片的服务进程,如果没有开启startCompressProcess则不需要释放。如果不解绑服务进程也不会影响程序运行。
@Override
protected void onDestroy() {super.onDestroy();//关闭进程(如果没有开启不需要关闭)mImageCompressor.stopCompressProcess();
}
Android多进程压缩图片库相关推荐
- 可能是最详细的Android图片压缩原理分析(一)—— Android图片压缩必备基础知识
本篇文章已授权微信公众号guolin_blog(郭霖)独家发布 稀土掘金链接 前言: 最近在研究图片压缩原理,看了大量资料,从上层尺寸压缩.质量压缩原理到下层的哈夫曼压缩,走成华大道,然后去二仙桥,全 ...
- Android图片压缩(质量压缩和尺寸压缩)
在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩):质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手 ...
- Android 图片压缩、照片选择、裁剪,上传、一整套图片解决方案
1.Android一整套图片解决方案 http://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650820998&idx=1& ...
- android图片压缩上传系列-基础篇
开发中遇到需要上传图片的场景还是很常见的,这就涉及到图片的压缩处理.如果不进行压缩,势必造成消耗大量的流量,下载图片的速度慢等. 关于android如何压缩,网上的资料也是很多,但大多数都是代码片段, ...
- android压缩图片质量,Android 图片质量压缩有关问题
Android 图片质量压缩问题 本帖最后由 u013064347 于 2014-01-13 10:22:47 编辑 网上看到一个图片质量压缩法,传入1M以内图片能正常压缩,但是传入2M多的图片就报内 ...
- Android 图片压缩器
概述 Android 图片压缩器:一款高效的图片压缩器库,支持批量压缩,异步压缩.多线程多任务压缩,压缩比设置等特性. 详细 代码下载:http://www.demodashi.com/demo/12 ...
- android zip压缩
最近需要对输出的文件进行压缩,了解了下android的压缩功能,源码如下: activity调用: try {ZipUtil2.zip(exportPath, exportPath+".zi ...
- Android图片压缩尺寸和质量
Android在处理图片时,如果不进行压缩处理,很容易就出现OOM内存溢出(OutOfMemory)问题,所以无论是第三方图片加载还是自己在处理图片时,都要进行压缩处理. Android系统中,一张图 ...
- android 图片压缩总结1
在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩):质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手 ...
最新文章
- php singleton()
- 基于R的信用评分卡模型解析
- python新手入门总结_初学python的操作难点总结(新手必看篇)
- 计算机网络讨论课感悟,计算机网络课程学习心得体会
- 手机号码正则 中文姓名正则
- 常见HTTP状态码大全
- enfp工具箱怎么用_小丸工具箱使用技巧详细图解,值得各位学习
- 神经网络 知识图谱,神经网络基础知识
- 安培龙IPO过会:年营收5亿 同创伟业与中移创新是股东
- 训练集样本不平衡问题对深度学习的影响
- python下载bt文件_给定一个.torrent文件,如何在python中生成一个磁力链接?
- 盘一盘 Python 系列 - Sklearn
- 将MP4转换为GIF
- 在线支付(通过第三方支付平台易保支付)
- 【2023春招】美团技术岗笔试10min+AK
- 条件风险价值CVaR
- 2021年景德镇高考成绩查询时间,2021年景德镇陶瓷大学高考录取结果什么时候出来及查询系统入口...
- MyBatis框架部署
- PCM音频数据、DSD音频数据,spdif,以及DOP格式说明
- matlab中dc ac装置,基于MATLAB的DC_DC、DC_AC电路仿真分析