Android 友盟分享图片太大打开微信慢
这是友盟提供的压缩方法,但是还是会有点慢,所以我们自己去压缩图片。
new Thread(new Runnable() {@Overridepublic void run() {String picUrl = goodsDetailsBean.getData().getPro_Info().get(0).get商品图片().split("\\|")[0];Bitmap bitmap ;if(!picUrl.equals("")){bitmap = PhotoBitmapUtils.create(picUrl);}else{bitmap = BitmapFactory.decodeResource(SafShopDetailActivity.this.getResources(), R.drawable.accountdefault);}Message msg = new Message();msg.what = SHARE;msg.obj = bitmap;mHandler.sendMessage(msg);}}).start();
//根据url生成bitmap,需要在子线程中调用
public static Bitmap create(String path) {
Bitmap bit = null;
try {
URL url1 = new URL(path);
InputStream is1 = url1.openStream();
bit = BitmapFactory.decodeStream(is1);
} catch (IOException e) {
e.printStackTrace();
}
return bit;
}
//压缩图片
public static Bitmap compression(Bitmap bitmap) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);// 质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中
int options = 90;
while (baos.toByteArray().length / 1024 > 128) { // 循环判断如果压缩后图片是否大于100kb,大于继续压缩
baos.reset(); // 重置baos即清空baos
bitmap.compress(Bitmap.CompressFormat.JPEG, options, baos);// 这里压缩options%,把压缩后的数据存放到baos中
options -= 10;// 每次都减少10
}
ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());// 把压缩后的数据baos存放到ByteArrayInputStream中bitmap = BitmapFactory.decodeStream(isBm, null, null);// 把ByteArrayInputStream数据生成图片return bitmap;
}
//最后直接调用
UMImage image = new UMImage(activity, compression((Bitmap) msg.obj)));
UMImage imageThumb = new UMImage(activity, compression((Bitmap) msg.obj)));
image.setThumb(imageThumb);
image.compressStyle = UMImage.CompressStyle.SCALE;//大小压缩,默认为大小压缩,适合普通很大的图
//image.compressStyle = UMImage.CompressStyle.QUALITY;//质量压缩,适合长图的分享压缩格式设置
//image.compressFormat = Bitmap.CompressFormat.PNG;//用户分享透明背景的图片可以设置这种方式,但是qq好友,微信朋友圈,不支持透明背景图片,会变成黑色
new ShareAction(activity).setPlatform(platform)
.setCallback(mShareListener)
.withMedias(image)
.share();
Android 友盟分享图片太大打开微信慢相关推荐
- android友盟分享图标是英文,GitHub - GDMiao/UmengEnclosed: 友盟分享二次封装,现有文字分享、图片分享、网页分享等多种分享功能。...
对友盟分享(Umeng-Share)的功能封装 引言 本文档针对友盟分享(6.9.0)进行了功能封装,完成的对于 文字.图片.网页 分享功能封装,如有其它封装要求请根据本文档的封装思路和友盟分享 ap ...
- Android 友盟分享躺过的几个坑,大坑,坑爹啊
前言:公司上线了一个项目,做Android 客户端集成友盟分享,在做得过程中,遇到了下面3个问题,希望其他小伙伴注意. ( 友盟在线客服 QQ : 800083942 ) 错误1: 1.错误描述 我 ...
- Android 友盟分享 开发日记
公司项目涉及到分享的部分了,看友盟的平台相当的强大,觉得就用这个了,本以为也就一个上午的事情,哪知道在这个坑里面足足蹲了两天的时间,下面我将详细介绍下友盟分享的具体过程 tip:强烈建议配合开发文档一 ...
- Android 友盟分享,让你后顾无忧,麻麻再也不用担心我的学习。
咱们上回书说道:不用微信SDK也能分享. Android 微信分享,无需那么麻烦. 这次写友盟分享一个是避免微信新版本改动过大,可能导致无法做到Intent跳转界面的分享实现,还有就是不能局限于一个微 ...
- android 友盟分享-圆角图标有黑底色问题
圆角图片分享边角会变黑色,解决方案有: 1.QQ分享等: UMImage umImage = new UMImage(this, R.drawable.ic_share_left);umImage.c ...
- android 友盟分享混淆,Android——记umeng sdk 混淆之后的一次crash
Failed to register native method org.android.spdy.SpdyAgent.freeAgent crash 异常片段如上: 结合上下文怀疑是umeng sd ...
- Swift使用友盟分享
1注册友盟账号 2添加应用 填写应用信息 得到AppKey 3使用CocoaPods集成友盟分享 4设置AppKey 5微信分享 注册微信应用 获取AppID和AppSecret 6添加微信AppID ...
- 友盟umeng分享微信和朋友圈,图片太大,拉起微信很慢的处理方案
今天测试提了个问题,说微信分享反应很慢,而且说上个版本都还是快的,这个版本就慢了,我回忆了下,这个版本关于分享的都没做改动啊,我就去调查了下原因,原来是分享时候的图片超级大导致的,上个版本分享的图片很 ...
- Android 友盟社会化分享的集成与封装
Android 友盟社会化分享的集成与封装 分享是APP中非常高频的操作之一,在Android的开发环境中,第三方分享框架也有很多.比较流行的包括 极光社会化分享(sharesdk).友盟社会化分享( ...
最新文章
- 2014全年目标及执行情况跟踪
- python函数装饰器参数 参数_【转】python 装饰器功能以及函数参数使用
- [云炬创业基础笔记]第六章商业模式测试11
- java多线程实现端口扫描,使用Java开发多线程端口扫描工具
- php fetchall 返回值为0_PHP实现延迟执行程序
- mysql 数据字典 php_php生成mysql数据库数据字典的程序代码
- [导入] 堆和栈的区别
- 跨浏览器开发工作小结
- 解决eclipse无法解析导入org.eclipse.swt库
- swift中变量的几种类型
- mysql屏蔽_MySQL中的企业数据屏蔽
- android 创建typeface 对象,java – 检查Android中的Typeface对象的族
- android 扩展textview,Android可收缩/扩展的TextView【1】
- python+seleniun+pyqt5 易班经验刷取开发记录
- 探索汽车行业大数据应用
- 在 LaTeX 中插入图片
- Excel报:文件已损坏无法打开错误问题解决
- 企业基因决定企业命运
- 宝塔linux面板命令大全
- 如何将D盘分区为多个磁盘(E盘,F盘等)window 10