处理图片报OOM的问题解决

当使用android的Drawable时,一开始我是用下面的方法实现的:

Drawable.createFromStream(is, srcName);

但是经过调试每次程序都会crash掉,报OOM错误,错误都会打到上面这行代码,搞了老半天,发现BitmapFactory.decodeStream比Drawable.createFromStream好用,后者更占内存。下面是解决后的代码:

                BitmapFactory.Options options = new BitmapFactory.Options();
                options.inPreferredConfig = Config.RGB_565;
                options.inSampleSize = 2;
                Bitmap bitmap = BitmapFactory.decodeStream(url.openStream(), null, options);
                drawable = new BitmapDrawable(bitmap);

当然options.inSampleSize = 2是设置图片显示的尺寸,这个图片尺寸是随意设置的,可以根据手机屏幕的大小来计算图片需要显示的尺寸。

时间: 2024-11-13 04:24:57

处理图片报OOM的问题解决的相关文章

微信昵称emoji表情,特殊表情导致列表不显示,导出EXCEL报错等问题解决!

最近做的项目,上线后一切正常,过段时间管理员反馈用户导出EXCEL报错,前台获取用户列表不显示,查找问题找到是微信昵称.emoji表情导致报错, emoji表情介绍 由于微信接口中对于emoji表情使用的是UTF-8的二进制字符串,并没有解码,表现就是当收到微信端用户发来的emoji表情时,显示为一个方块型「」或是无法显示的字符,这时就需要对其进行转码. 每个emoji表情其实都有相应的unicode编码,在解析用户向公众号发送的文字中的emoji表情字符时,我们可以根据unicode码来匹配

关于zabbix agent for windows安装后server端报错的问题解决方法

报错:Get value from agent failed: ZBX_TCP_READ() failed: [104] Connection reset by peer 解决方法: 在windows上安装agent前,需要检查zabbix_agentd.conf中的配置,尤其是server地址,默认server地址为127.0.0.1,把这个地址修改为你的server的地址: 配置windows防火墙,运行入站访问10050端口:

MySQL中使用group_concat()函数数据字符过长报错的问题解决方法

最近在办公软件项目,在开发权限指标遇到一个问题:我们系统的一些逻辑处理是用存储过程实现的,但是有一天客户反馈说权限指标分配报错,查了分配的权限数据牵扯到的数据权限基础资源,没有问题.权限指标分配的存储过程中有这样两句代码: SET @tests = '';SELECTGROUP_CONCAT( DISTINCT REPLACE ( concat( '''', ( indicator_content ), '''' ), ',', ''',''' ))AS Allnumber INTO @test

本地使用Navicat远程连接Oracle报错ORA-28547问题解决

用Navicat连接Oracle数据库时出现如下错误 按照数据库连接信息去连接就好了,注意的是默认的Server Name是ORCL,记得改成你要连接的数据库名: 在进行连接测试的时候,出现了报错信息ORA-28547:connection to server failed,probable Oracle Net admin error: 后来去网上搜索一下发现,因为Navicat是通过Oracle客户端连接Oracle服务器,我们用Navicat时通常会在自己的安装路径下包含多个版本的OCI,

关于taro更新问题一系列报错的问题解决

更新 Taro 提供了更新命令来更新 CLI 工具自身和项目中 Taro 相关的依赖 更新 Taro CLI 工具 # taro   $ taro update self   # npm   npm i -g @tarojs/[email protected]   # yarn   yarn global add @tarojs/[email protected] 更新项目中 Taro 相关的依 $ taro update project 还会报一下错误 taro  Cannot read pr

MySQLdb for Mac安装报错及问题解决

MySQLdb 是用于Python链接Mysql数据库的接口 安装MySQLdb可以用终端命令 pip3 install MySQLdb-python 但是出现报错,错误原因为 :mysql_config not found 这是因为在配置文件中,找不到mysql配置文件导致,也就是 mysql_config 解决办法: 手动下载MySQLdb文件包,下载链接:https://pypi.org/project/MySQL-python/#files 解压之后找到配置文件"site.cfg&quo

js返回上一页报网页过期问题解决

1.detail详细页面加上返回按钮,返回到list列表页 <input type="button" value=" 返回 " onclick="javascript :history.go(-1);"/> 2.如果在list列表页中存在如下设置:需要注释掉,解决返回网页过期问题~! <% //response.setHeader("Pragma","No-cache"); //respo

关于win10系统安装vivado 2017.1 .2 .3 报runtime error 问题解决办法 亲测有效

1.找到桌面图标右键属性,点击打开文件位置 1. 2找到vivado.exe,重命名为vivado.exe.backup. 3.找到vivado-vg.exe复制一分重命名为vivado.exe 效果图,ok 接下来打开桌面图标就可以了

mybatis批量update操作的写法,及批量update报错的问题解决方法

mybatis的批量update操作写法很简单,如下: public interface YourMapper extends BaseMapper<YourExt> { void updateBatch(@Param("pojos") Collection<YourExt> pojos); } <update id="updateBatch" parameterType="java.util.Collection"