文档章节

Android 加载大图问题

tyronejw
 tyronejw
发布于 2016/01/28 13:52
字数 348
阅读 123
收藏 0

关于如何加载大图片及其原理,可以参考: Android 高清加载巨图方案 拒绝压缩图片 以及开源项目LargeImage,第一次使用的时候能正常显示,但后来却无法显示(图片替换了),也没显示错误,查看bug,有一个信息: IllegalArgumentException: rectangle is not inside the image,不过不要被这条信息蒙蔽了,你在进行调试的时候,你会发现其实并未真正的超出范围,但还是输出这样的结果。当时屏幕是可以滑动的(无法显示图片,但图片高度还是填充了界面中的scrollview),此刻发现log会一直警告:

 Bitmap too large to be uploaded into a texture (440x6405, max=4096x4096)

由此就真相大白了,原来是因为当开启硬件加速的时候,GPU对于openglRender 有一个限制,这个不同的手机会有不同的限制:

这个限制值可以通过canvas.getMaximumBitmapHeight()和canvas.getMaximumBitmapWidth()来获得。

解决方案有两条:http://blog.csdn.net/ta893115871/article/details/9043559

1、一个解决的方法是禁止硬件加速,简单粗暴:<application android:hardwareAccelerated="false" ...>

2、将图片分成不同的块,每次加载需要的块。android提供了一个方法(其实加载大图片就是采取这样的方案,但还是出现上述问题,这个问题没想明白)


© 著作权归作者所有

tyronejw
粉丝 3
博文 126
码字总数 20540
作品 0
深圳
私信 提问
关于安卓webview调用wap界面实现银联支付遇到问题请教

使用webview加载wap界面实现银联在线支付 其中webview.setting WebSettings settings = webview.getSettings(); settings.setSupportZoom(true); // 可以缩放 settings.setUseWideViewPort(......

嘿嘿嘿嘿的
2017/06/12
229
0
Android高效显示图片详解(一)

前提与解释: 安卓平台作为一款移动端的应用操作平台,其内存容量是十分有限的,内存资源是十分珍贵的,是无法与传统的桌面平台相比的,因此,在安卓平台下同样的图片操作与处理都要十分谨慎...

openorz
2014/02/11
135
0
Android 面试的时候简历如何写

  还是那句老生常谈的话,如今面试已经不是多年以前了,准备过程中一定要准备回答各种深入的理解、扩展。   只要你简历上写到的技术,你最起码要准备好回答:   该技术原理是?   做...

Android群英传
08/26
0
0
解决:Bitmap too large to be uploaded into a texture

简单说就是硬件加速的时候,对图片的大小有限制。不同设备可能有不同的最大值。这个问题悲催的地方是,程序貌似没有捕获到这个exception, 结果是程序也不报错,图片也显示不出来。只有看deb...

火云
2015/11/04
193
0
爱奇艺重磅开源基于Android-App-Bundle动态化方案Qigsaw

     作者 | 陈家伟 编辑 | Yonie 在日前的 GMTC 全球大前端技术大会上,爱奇艺资深工程师陈家伟发表了《基于 Android App Bundle 动态化方案探索》的演讲,本文整理内容如下。   在 ...

Android群英传
07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

parseint和isNaN用法

本文转载于:专业的前端网站➭parseint和isNaN用法 <!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title></head><body><script> var a='12'; alert......

前端老手
40分钟前
7
0
Kylin 精确去重在用户行为分析中的妙用

作者:史少锋,Apache Kylin committer & PMC,2019/10/11 在上次文章《如何在 1 秒内做到大数据精准去重》中,我们介绍了 Apache Kylin 为什么要支持大数据集上的精确去重,以及基于 Bitmap...

ApacheKylin
51分钟前
5
0
学习记录(二) es6基本语法(rest参数,模板化,axios模块,拦截器)

日常学习记录 模块化:把一个大文件分成多个小文件,按照一定规范进行拼接 es5写法: 导出:module.exports = 数据 导入:require("路径") /路径未添加后缀名时 //默认添加.js //把路径作为文件名...

Pole丶逐
55分钟前
4
0
以程序员的角度怎么购买一台「性价比高的电视」

前俩天有小伙伴在我的文章下留言,说能否把 【国内电视机都介绍一下】,今天我已在TV端开发多年的程序员的角度。谈谈已程序员的角度如何购买一台性价比高的电视。 国内大的电视机品牌介绍 长...

我们都很努力着
58分钟前
4
0
PhotoShop 色调:理解直方图/RGB通道信息

一、直方图:图表的形式,展示图像像素分布的情况 1.平均值:表示平均亮度 2.标准偏差值:表示亮度值范围内的中间值 3.像素: 表示用于计算直方图的像素总数 4.色阶:显示指针下面的区域亮度...

东方墨天
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部