QQ或者微信客户端如何实现加载本地图片的?

龙印在天 发布于 2015/03/05 20:26
阅读 516
收藏 1
QQ或者微信客户端,大家熟悉的android版客户端,它里面有获取本地图片的列表,非常流畅并且非常稳定。大家知道,手机内存有限,加载大量图片务必考虑内存问题,我在实现获取本地图片的过程中,功能已经实现,但是问题还是出在了内存问题上面。当手机中有大量的图片的时候, 加载会出现OOM异常,请各位同仁不吝赐教!有什么好的方法或者有什么好的框架可以实现?或者请指教一下QQ或者微信在实现加载本地图片这个功能时的做法!谢谢~~ [握手]
加载中
0
龙印在天
龙印在天
经过近几天的琢磨,现在对我提出的问题进行回答如下:
【===图片微多,建议在WIFI情况下浏览===】
目前有很多的app都会使用我在问题中提到的功能-手机本地图片的获取问题,搞不好就会出现OOM异常,特别是在整个app已经比较大的情况下更容易出现OOM异常。
我在问题中提到的具体功能现在描述如下:
获取手机本地的相册,通过点击相册进入该相册的图片列表,选择相应的图片(可多选)之后进入另一个界面显示刚才选中的图片,这样可以对选择的图片进行上传等操作。这个功能也是我在项目中要实现的功能。
效果图如下:
获取手机本地相册:
选择相册之后,进入该相册内部查看图片列表:
选择前五张图片之后,点击确定
这样就基本实现了上面所描述的功能,具体的代码和讲解,请参考以下博文:
该项目源代码最大特色: 
1、获取相册列表,目前网络上面介绍获取相册的项目很少,本文专门讲述相册的获取。 
2、使用Android-Universal-Image-Loader集成框架-第三方jar包加载本地图片,熟悉这个jar的开发者肯定不陌生,该jar包十分强大,除了可以获取网络图片,本地图片也是可以的。同时,通过引用第三方jar可以有效解决OOM异常问题。 

  

android 获取相册列表的实现及源码下载(一)

android 获取相册列表的实现及源码下载(二)

这四篇博文讲述了上面问题所需要实现的功能,并且每篇后面都附有源代码的下载地址。在此也给出源码下载地址:android 获取相册列表的实现源码

//=====================分割线=========================//
实现了上面的功能,可能有开发者不需要获取相册,只需要获取手机本地的图片列表,把图片列表加载出来,这里我也给出大家讲述这个功能实现的博文地址和源代码的下载地址。
这个项目源代码使用到了ContentResolver、软引用、弱引用、缓存、异步线程、节省内存技巧-滚动不加载、锁机制、图片缩放、线程通信、动画等非常实用的方法、技巧。
博文地址:

android 获取本地全部图片列表的实现及源码下载(一)

该项目源码下载地址:android本地图片获取

//=====================分割线========================//
我从回答者当中,俞志强建议我使用调用系统选择器的方法获取图片,最后我也进行了研究,并进行了扩展。
这个小项目的特色: 
1、调用系统的相册应用获取单张图片 
2、对单张图片进行剪切方便做成指定大小的头像图片 
3、对获取图片的结果进行解析,使用三种方式进行。
效果图如下:
进入app之后,点击获取图片按钮,调用系统选择器
点击图库,进入系统的图片选择器,效果图如下:
然后,选择响应的图片,之后返回主界面
点击图片剪切成头像按钮,调用系统的剪切工具进行图片的剪切

点击确定应用,返回主界面,获取到剪切后的图片进行显示,效果如下:

给出大家的参考博文如下:
//=============分割线============================//
总结:
在此非常感谢回答此问题的知友们!非常感谢!【握手】
另外,本人水平有限,难免有错误的地方,如果有发现错误的地方,请不吝赐教!【握手】


0
铂金小鸟
诸葛小布
诸葛小布
回复 @龙印在天 : 可以的 加载drawable也可以 url写成file://
龙印在天
龙印在天
这个jar我知道,主要用于网络访问图片,加载图片。但是这个jar包可以用于获取本地图片吗??如何做到呢?请指教~!【握手】
0
zhaowenwei
zhaowenwei
图片生成一个预览cache
0
zhaowenwei
zhaowenwei

并不是真正加载所有图片

滑动到需要刷新的地方才加载

龙印在天
龙印在天
这个方法我目前刚刚了解到怎么实现,使用GridView用于监听OnScrollListener,通过监听滑动状态的变化再加载图片。谢谢~
0
雪龙
雪龙
分页加载
0
雪龙
雪龙
当一屏数据显示以后,往下滑动再加载其他的图片。不知道可行不
龙印在天
龙印在天
可行。目前我已经知道如何实现这种效果,谢谢~!【握手】
0
kymjs张涛
kymjs张涛
KJFrameForAndroid
返回顶部
顶部