FAILED Binder Transaction 问题的原因及解决方案
来源:互联网 发布:音频压缩算法 编辑:程序博客网 时间:2024/05/19 19:58
Android 运行不正常关闭,在一堆报错里面找到了FAILED Binder Transaction。
百度了一下基本一致的说法就是:
在Intent 中传递bitmap时,要限制图片小于40K.
看了一些解决方案,分为以下几种:
1.从根本出发直接压缩bitmap,简单易操作。
给出bitmap压缩返回bitmap的方法,如下:
/** * 压缩图片 * * @param image * @return */ public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不压缩,把压缩后的数据存放到baos中 int options = 100; while (baos.toByteArray().length / 1024 > 100) { //循环判断如果压缩后图片是否大于100kb,大于继续压缩 baos.reset();//重置baos即清空baos image.compress(Bitmap.CompressFormat.JPEG, options, baos);//这里压缩options%,把压缩后的数据存放到baos中 options -= 10;//每次都减少10 } ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());//把压缩后的数据baos存放到ByteArrayInputStream中 Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);//把ByteArrayInputStream数据生成图片 return bitmap; }
2.全局单例模式(未尝试)
将bitmap放在一个固定的生命周期中的值里,随时可取可消。
private Bitmap mInsertPicture; public Bitmap getmInsertPicture() { return mInsertPicture; } public void setmInsertPicture(Bitmap mInsertPicture) { this.mInsertPicture = mInsertPicture; }
参考:
http://stackoverflow.com/questions/3528735/failed-binder-transaction-when-putting-an-bitmap-dynamically-in-a-widget
http://blog.csdn.net/jan_s/article/details/25141177
0 0
- FAILED Binder Transaction 问题的原因及解决方案
- android FAILED Binder Transaction 问题的原因
- android FAILED Binder Transaction 问题的原因
- !!! FAILED BINDER TRANSACTION !!! 的另一种原因
- JavaBinder: !!! FAILED BINDER TRANSACTION !!! 异常的解决方案分析
- FAILED BINDER TRANSACTION
- javabinder failed binder transaction
- FAILED BINDER TRANSACTION
- !!! FAILED BINDER TRANSACTION !!!
- !!! FAILED BINDER TRANSACTION !!!
- FAILED BINDER TRANSACTION
- 关于Activity间Intent传值“FAILED BINDER TRANSACTION”问题
- android JavaBinder - FAILED BINDER TRANSACTION
- android异常!!! FAILED BINDER TRANSACTION !!!
- [Android开发-异常]javabinder !!! FAILED BINDER TRANSACTION !!!
- Android开发异常javabinder !!! FAILED BINDER TRANSACTION !!!
- zxing扫描后出现 FAILED BINDER TRANSACTION
- Android 5.0 Binder编译问题及解决方案
- react.js
- Redis系列~服务器信息(十二)
- 朴素贝叶斯分类的实现
- 基于BP神经网络的数据分类
- canvas绘制电子时钟
- FAILED Binder Transaction 问题的原因及解决方案
- Redis系列~数据备份与恢复(十三)
- 51. N-Queens, leetcode
- plsql数据导入导出的使用
- Nginx 完整配置说明
- android DownloadManager使用方法
- bootstrap-面板
- Android 调用系统相机拍照保存以及调用系统相册的方法
- Redis系列~安全(十四)