You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio:图片需保存至何处才能在RecyclerView中显示?

问题解答

一、关于drawable文件夹的疑问

你的现有代码没有读取drawable资源的逻辑,当前代码的逻辑是从设备外部存储的公共图片目录加载图片。

如果想把图片放在drawable文件夹:

  • 可以这么做,但需要修改代码逻辑适配:
    • 将图片放入res/drawable目录(注意图片文件名只能用小写字母、数字和下划线,不能有大写或特殊字符)
    • 修改Item类,把存储的imagePath替换为资源ID(比如private int imageResId)
    • 在MyRecyclerViewAdapter的onBindViewHolder方法中,改用holder.image.setImageResource(itemList.get(listPosition).getImageResId())来加载图片
  • 这种方式适合固定的内置图片,不适合需要动态添加或用户上传的图片。

二、模拟器中的图片保存路径

你的代码已经指定了加载路径为系统公共图片目录,对应模拟器里的实际路径是:

  • Android 10及以上版本:/storage/emulated/0/Pictures
  • 你可以通过Android Studio右下角的「Device File Explorer」找到这个目录,将jpg格式的图片复制进去,重启App或者重新调用updatePictures()方法就能加载这些图片。

现有代码的优化建议

  • 权限适配:Android 13及以上版本,读取公共图片需要申请READ_MEDIA_IMAGES权限,而不是READ_EXTERNAL_STORAGE,建议更新权限申请的代码
  • 异常排查:updatePictures()方法里捕获了异常但未做处理,建议添加日志打印,比如Log.e("MainActivity", "加载图片目录失败", e),方便排查空目录、权限问题等
  • 内存优化:直接用BitmapFactory.decodeFile加载大图容易引发内存溢出,建议使用Glide、Picasso这类图片加载库,自动处理压缩和内存缓存

内容的提问来源于stack exchange,提问作者Rodrigo Nogueira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:20:33