android:从server端下载的图片保存在移动端哪里合适?

我的需求是这样的:我需要下载server端的一些图片,数据库中存储的是这些图片的名称,我用图片名与请求路径拼接成完整的路径作为客户端发出的请求。对于下载完成的图片,我是否可以放入res/mipmap下?
我试图实现:在需要图片的时候,先访问本地,本地没有的话再请求服务器,而且我想要取出图片的时候很简单,请教如何实现!
阅读 3.6k
5 个回答

Picasso 解决你所有需求,包括disk和memory 二级缓存,直接into到imageview
本质上是通过下载地址判定当前文件是否下载过,决定从服务器加载或者从本地缓存中取出。

res属于一次性(编译成Resource配置)资源目录,应用安装完成后就不能再改变,所以,远程下载的图片不能放这里,也没有相关API提供实现。远程图片下载后一般放到外置存储器上(如SDCARD),或者应用的file目录。这些是比较简单的IO操作了,你可以找一本Android的入门书籍或在网上搜索相关的知识,会能比较系统的了解这部分内容。

一般放外置存储,可以存原始文件,也可以缓存解码好的buffer

新手上路,请多包涵

可以使用现成的图片缓存框架,比如Picasso glide imageloader 等。这些都可以配置缓存的位置。

缓存目录,文件目录 都可以。。但肯定不能是res下的目录,那个资源文件目录,打包后就不能更改

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题