魅族note(电信版)缩略图显示不正确问题
魅族note(电信版)缩略图显示不正确问题
【问题现象】
问题现象:
图片缩略图显示存在多处重复,展示缩略图与原本应该展示的图片不相同。
期待结果:
展示缩略图与原本应该展示的图片相同,不会出现重复的现象。
【涉及机型】
厂商:Meizu
机型:M463C
SDK:Android4.4.4
ROM:Flyme OS 4.2Q
基带:.1.0.2.c1-00096-M8936FAAAANVZM-1
【问题分析】:ROM问题
问题API:
首先,我们反编译问题机型framework层代码,发现getThumbnail()函数已经被更改。由于反编译源码,代码结构被混淆,暂时无法正确解析源码。
但是,我们通过对android原生SDK的分析,我们了解到getThumbnail()获取缩略图主要是两种方式,MICRO_KIND方式是缩略图管理器中获取缩略图;MINI_KIND方式是从数据库中读取文件路径然后压缩原图片得到缩略图。具体原生android framework层源码如下:
而我们的问题API恰好是要求采用MICRO_KIND方式来获取缩略图。适配问题的原因也比较明了:厂家修改framework层源码使得thumFile缩略图管理器数据维护不当,从而导致缩略图获取不正确。
【解决方案/规避方案】
1.首先分析两种获取缩略图的方式:
MICRO_KIND方式:先尝试从缩略图数据库中搜索图片,如果不存在对应的缩略图,则直接找到原图片路径,读取原图片,转换为缩略图大小。
MINI_KIND方式:直接找到原图片路径,读取原图片,转换为缩略图大小。
2.这样一来,我们知道MINI_KIND方式是不会导致缩略图对应错误的问题。所以我们适配解决方案也十分明显:在问题机型上,我们建议使用MINI_KIND方式读取缩略图。
解决方案:
3.测试该解决方案:
Demo测试解决方案:(适配前,大部分的照片对应的缩略图都是同一个缩略图,缩略图与原图片不匹配)
Demo测试解决方案:(适配后,缩略图显示正常,缩略图与原图片匹配)
// 如果觉得不错,记得顶我哦! 顶我!顶我!顶我!
更多相关文章
- Android开发笔记(一百七十一)使用Glide加载网络图片
- Android(安卓)Fresco图片处理库用法API英文原文文档1(Facebook开
- android style的继承方式 点(.)和parent
- Android设置Alpha值实现图片渐变效果
- android之Fresco框架--Fresco基本使用
- 深入浅出谈Android(安卓)几种布局方式
- Android之Http通信——3.Android(安卓)HTTP请求方式:HttpURLConn
- 我的开源项目:Android图片剪裁库
- Android开发 - ListView添加点击事件的三种方式