很多人都发现android的浏览器显示大分辨图片会出现显示模糊的问题,我测试是超过100万像素(1024x1024)的图片就会出现模糊。在android的讨论网站上也有对这个问题的一个issue(http://code.google.com/p/android/issues/detail?id=6021 )。 很明显这是android的浏览器实现代码在加载图片的时候做了限制。相关代码在 external/webkit/WebCore/platform/graphics/android /ImageSourceAndroid.cpp,这个文件中有一个局部函数computeMaxBitmapSizeForCache(),看一下这个 函数前面的注释:
Images larger than this should be subsampled. Using ashmem, the decoded
pixels will be purged as needed, so this value can be pretty large. Making
it too small hurts image quality (e.g. abc.com background). 2Meg works for
the sites I've tested, but if we hit important sites that need more, we
should try increasing it and see if it has negative impact on performance
(i.e. we end up thrashing because we need to keep decoding images that have
been purged.

Perhaps this value should be some fraction of the available RAM...
已经说得很明白了,可以修改这个函数里面的常数(2*1024*1024),不过修改这个值以后记得改一下上面的一个宏定义MIN_RLE_ALLOC_SIZE为同样的值,否则在加载大图片时会很慢。

更多相关文章

  1. C语言函数以及函数的使用
  2. Android for opencv(1)android使用opencv基本操作:读写 图片,操作像
  3. Android webkit image的加载过程解析(二)
  4. Android浏览器显示大分辨率图片的问题
  5. android 网络访问-图片处理优秀开源项目
  6. android 开发 解码gif图片,获取每帧bitmap
  7. Android实现插件化(热加载)和插件加密
  8. android图片压缩质量参数Bitmap.Config RGB_565等的含义
  9. Android怎么让RadioButton图片居中显示

随机推荐

  1. Android用户界面 UI组件--TextView及其子
  2. Android(安卓)ApiDemos示例解析(78):Grap
  3. Linux学习之Vi和Vim区别是什么?
  4. AndroidStudio 优秀的第三方数据库 Green
  5. AndroidLinearLayout:添加阴影边界Linear
  6. flutter 持久化存储-----数据库sqflite
  7. Drawable和Bitmap转换
  8. Android触摸事件分发之View篇
  9. android使用AIDL跨进程通信(IPC)
  10. 第五章 网络 之 Android网络知识&框架(二)