首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

重新进入应用程序后将上次选择的图像加载到ImageView中

,可以通过以下步骤实现:

  1. 首先,需要在应用程序中保存上次选择的图像。可以使用SharedPreferences或者数据库来存储图像的路径或者字节流数据。
  2. 在应用程序的入口处(例如MainActivity的onCreate方法),读取保存的图像数据并加载到ImageView中。具体的实现方式取决于图像数据的存储方式。
  3. 如果图像数据是以路径的形式保存的,可以使用BitmapFactory类的decodeFile方法将图像文件解码为Bitmap对象,然后将Bitmap对象设置给ImageView。
  4. 示例代码:
  5. 示例代码:
  6. 如果图像数据是以字节流的形式保存的,可以使用BitmapFactory类的decodeByteArray方法将字节流解码为Bitmap对象,然后将Bitmap对象设置给ImageView。
  7. 示例代码:
  8. 示例代码:

需要注意的是,上述代码中的"lastSelectedImage"是保存图像数据的键名,可以根据实际情况进行修改。

此外,为了提高应用程序的性能和用户体验,可以考虑使用异步加载图像的方式,例如使用AsyncTask或者第三方库如Picasso、Glide等来加载图像。这样可以避免在主线程中进行耗时的图像加载操作,保持应用程序的响应性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android训练课程(Android Training) - 高效显示图片

读取缩放图像到内存 现在我们知道了图像尺寸,他们可被用于决定是否使用完整图像载到内存或者采用缩略图加载到内存。...这节课引导你,当加载多个图像时,使用一个内存和磁盘图像缓存来提高UI响应性和流畅性。 使用一个内存缓存 一个内存缓存提供了快速访问位图方式,更好占用珍贵应用程序内存。...为了选择一个合适LruCache 尺寸,一些因素必须要考虑到,比如: 你剩余activity或者应用程序 是如何 集中 你内存?...当图像处理完成,最后图片被添加到内存缓存和磁盘缓存。...在activity被重新创建,这个重新创建(保留 Fragment 被重新附加,这样你重新通过它获得到缓存对象,允许图像被快速提取和重新填充到 ImageView 对象。

2.9K00

Android高效加载大图、多图解决方案,有效避免程序OOM

压缩图片大小应该和用来展示它控件大小相近,在一个很小ImageView上显示一张超大图片不会带来任何视觉上好处,但却会占用我们相当多宝贵内存,而且在性能上还可能会带来负面影响。...现在图片大小已经知道了,我们就可以决定是把整张图片加载到内存还是加载一个压缩版图片到内存。以下几个因素是我们需要考虑: 预估一下加载整张图片所需占用内存。...比如,你ImageView只有128*96像素大小,只是为了显示一张缩略图,这时候把一张1024*768像素图片完全加载到内存显然是不值得。 那我们怎样才能对图片进行压缩呢?...然后BitmapFactory.Options连同期望宽度和高度一起传递到到calculateInSampleSize方法,就可以得到合适inSampleSize值了。...为了能够选择一个合适缓存大小给LruCache, 有以下多个因素应该放入考虑范围内,例如: 你设备可以为每个应用程序分配多大内存? 设备屏幕上一次最多能显示多少张图片?

2.3K70
  • android加载大图,防止oom

    压缩图片大小应该和用来展示它控件大小相近,在一个很小ImageView上显示一张超大图片不会带来任何视觉上好处,但却会占用我们相当多宝贵内存,而且在性能上还可能会带来负面影响。...现在图片大小已经知道了,我们就可以决定是把整张图片加载到内存还是加载一个压缩版图片到内存。以下几个因素是我们需要考虑: 预估一下加载整张图片所需占用内存。...比如,你ImageView只有128*96像素大小,只是为了显示一张缩略图,这时候把一张1024*768像素图片完全加载到内存显然是不值得。 那我们怎样才能对图片进行压缩呢?...然后BitmapFactory.Options连同期望宽度和高度一起传递到到calculateInSampleSize方法,就可以得到合适inSampleSize值了。...为了能够选择一个合适缓存大小给LruCache, 有以下多个因素应该放入考虑范围内,例如: 你设备可以为每个应用程序分配多大内存? 设备屏幕上一次最多能显示多少张图片?

    1.3K90

    Swift-图像性能优化

    前言 随着移动端发展,现在越来越注重性能优化了。这篇文章谈一谈对于图片性能优化。...面试又会经常有这样问题:如何实现一个图像圆角,不要用cornerRadius ---- 模拟器常用性能测试工具 Color Blended Layers(混合图层->检测图像混合模式) 此功能基于渲染程度对屏幕混合区域进行绿...如果图片显示在一个Cell上面,滚出屏幕再滚动回来时候,图片仍然需要重新被设置,在进入屏幕之前还需要一次拉伸操作,这些拉伸操作是会消耗CPU计算。这样设置多了以后就会严重影响性能。...ImageView尺寸设置成和图片一样大小,再利用模拟器Color Misaligned Images功能再次查看图片状态。...给图像添加边框,绘制内切圆形 UIColor.darkGray.setStroke() path.lineWidth = 5 // 默认是'1' path.stroke() 判断一个应用程序好坏

    1.7K70

    glide 一个强大图片加载框架

    也就是说我们选择范围非常广,不管是在 Activity 还是 Fragment 调用 with() 方法,都可以直接传 this。...如果传入是 ApplicationContext,那么只有当应用程序被杀掉时候,图片加载才会停止 2、load() 这个方法用于指定待加载图片资源。...当然,into() 方法并不仅仅只能接收 ImageView 类型参数,还支持很多更丰富用法 四、glide 常用方法 方法名 功能 placeholder() 在图片加载过程,我们先显示一张临时图片...、DiskCacheStrategy.RESULT:仅仅缓存最终图像 DiskCacheStrategy.ALL:缓存所有版本图像(默认行为) error() 当我们因为某些异常情况导致图片加载失败...glide 从来不会直接图片完整尺寸全部加载到内存,而是用多少加载多少,如果我们真的有指定图片大小这种需求的话,调用 override() 方法就好了 以上便是本文全部文章,具体代码我已经上传到

    40640

    Android瀑布流照片墙实现,体验不规则排列美感

    每当需要添加一张图片时,会将这张图片宽度压缩成和列一样宽,再按照同样压缩比例对图片高度进行压缩,然后在这三列找出当前高度最小一列,图片添加到这一列。...下面我们就来开始实现吧,新建一个Android项目,起名叫PhotoWallFallsDemo,并选择4.0API。 第一个要考虑问题是,我们到哪儿去收集这些大小参差不齐图片呢?...); return thirdColumn; } } /** * 图片下载到SD卡缓存起来。...接着这张图按照一定比例进行压缩,并找出当前高度最小一列,把压缩图片添加进去就可以了。...当这些图片又重新变为可见时候,只需要再从LruCache中将这些图片重新取出即可。如果某张图片已经从LruCache中被移除了,就会开启一个LoadImageTask,这张图片重新载到内存

    2.9K50

    Android多点触控技术实战,自由地对图片进行缩放和移动

    ; /** * 记录上次两指之间距离 */ private double lastFingerDis; /** * ZoomImageView构造函数,当前操作状态设为STATUS_INIT...那我们就来看一下initBitmap()方法,在这个方法首先对图片大小进行了判断,如果图片宽和高都是小于屏幕宽和高,则直接这张图片进行偏移,让它能够居中显示在屏幕上。...然后invalidate一下当前view,又会进入到onDraw()方法,这里判断出当前是移动状态,于是会调用move()方法。...,然后又通过Intent得到了需要展示图片路径,接着使用BitmapFactory路径下图片加载到内存,然后调用ZoomImageViewsetImageBitmap()方法图片传入,就可以让这张图片展示出来了...,点击任意一张图片会进入到相应大图界面,并且可以通过多点触控方式对图片进行缩放,放大还可以通过单指来移动图片,如下图所示。

    2.2K50

    Android图片加载框架最全解析(一),Glide基本用法

    也就是说我们选择范围非常广,不管是在Activity还是Fragment调用with()方法,都可以直接传this。那如果调用地方既不在Activity也不在Fragment呢?...关于Glide缓存方面的内容我们将会在后面的文章进行详细讲解,这里只是为了测试占位图功能而一个额外配置,暂时你只需要知道禁用缓存必须这么写就可以了。 现在重新运行一下代码,效果如下图所示: ?...现在你可以图片url地址修改成一个不存在图片地址,或者干脆直接手机网络给关了,然后重新运行程序,效果如下图所示: ? 这样我们就把Glide提供占位图功能都掌握了。...而使用Glide,我们就完全不用担心图片内存浪费,甚至是内存溢出问题。因为Glide从来都不会直接图片完整尺寸全部加载到内存,而是用多少加载多少。...Glide会自动判断ImageView大小,然后只将这么大图片像素加载到内存当中,帮助我们节省内存开支。

    1.6K110

    YYImage框架瞧一瞧

    a、animatedImageMemorySize 如果所有帧图像都被加载到内存,那么总内存使用(以字节为单位)。 如果图像不是从多帧图像数据创建,则该值为0。...如果图像被许多图像视图(如emoticon)共享,则预加载所有视图 帧降低CPU成本。 YYAnimatedImageView 类 用于显示动画图像图像视图。...因此,在磁盘图片渲染到屏幕之前,必须先要得到图片原始像素数据,才能执行后续绘制操作,这就是为什么需要对图片解码原因。...:image]; //把图片添加到 UIImageView 子类,这个子类后面讲(第7点都是它核心),这里暂且当它为普通 ImageView 那样看。...,这个视图请求并解码一些或所有未来图像进入一个内部缓冲区。

    2.1K30

    Glide-图片加载框架全解(一)- 基本用法

    也就是说我们选择范围非常广,不管是在Activity还是Fragment调用with()方法,都可以直接传this。那如果调用地方既不在Activity也不在Fragment呢?...我们只是在刚才三步走之间插入了一个placeholder()方法,然后占位图片资源id传入到这个方法即可。...现在你可以图片url地址修改成一个不存在图片地址,或者干脆直接手机网络给关了,然后重新运行程序,效果如下图所示: 这样我们就把Glide提供占位图功能都掌握了。...而使用Glide,我们就完全不用担心图片内存浪费,甚至是内存溢出问题。因为Glide从来都不会直接图片完整尺寸全部加载到内存,而是用多少加载多少。...Glide会自动判断ImageView大小,然后只将这么大图片像素加载到内存当中,帮助我们节省内存开支。

    1K10

    在Android中高效加载大图

    原文地址:ronaldong 原文作者: https://juejin.im/post/5b0e6e6a5188251570336972 大图加载到内存总是令人痛苦,因为我们经常会在应用崩溃报告中看到...大家都知道,Android系统内存有限。我们必须牢记这一点。 stackoverflow上有很多关于大图加载问题,当你应用程序遇到OOM时候,你可以选择直接复制粘贴其中答案来解决这个问题。...图片加载到内存 这很简单。你只需要使用BitmapFactory来解码你图片。...原因如下: 存储在磁盘上图片是被压缩过(以JPG,PNG或类似的格式存储)。 一旦图片加载到内存,它就不再被压缩,并占用尽可能多图片所有像素所需内存空间。...加载大图步骤 获取图片宽和高 根据图片宽和高计算缩放比 根据缩放比图片加载到内存。 BitmapFactory.Options BitmapFactory可以为我们提供图片元数据。

    82520

    iOSGIF动画效果实现

    该方法有三个参数,参数1为GIF原始数据,参数2 为GIF子帧序号(该序号从0开始),参数3为GIF数据提取一些选择参数,因为这里不是很常用,所以设置为nil。...3 GIF图片分解最终实现效果 通过上述代码最后一行print("\(imagePath)")可以获取图片最终保存路径。进入该路径下可以看到下图所示图片最终分解结果。...代码第1行初始化可变数组,第2行遍历67张本地图片,第3行按照图片命名规律,构建67张图片名称,第4行加载本地图片。最后一行读取图片依次加载到images可变数组。...5 images.append(image)// 图片添加到数组 } 6 let imageView = UIImageView() 7 imageView.frame = self.view.bounds...第2行到第5行通过for循环67张图片依次加载到当前数组。第6行实例化一个UIImageView实例对象。

    1.3K20

    在自己数据集上训练TensorFlow更快R-CNN对象检测模型

    对于自定义数据集,请按照此简单分步指南图像及其注释上载到Roboflow 。...为此可以原始测试图像从Roboflow下载到本地计算机,然后这些图像添加到Colab Notebook。...对于格式,请选择COCO JSON并在本地下载到自己计算机上。(实际上可以下载非TFRecord任何格式,以原始图像与注释格式分开!)...一旦在本地解压缩该文件,看到测试目录原始图像: 现在在Colab笔记本,展开左侧面板以显示测试文件夹: 右键单击“测试”文件夹,然后选择“上传”。现在可以从本地计算机中选择刚刚下载所有图像!...在笔记本,其余单元格介绍如何加载创建已保存,训练有素模型,并在刚刚上传图像上运行它们。 对于BCCD,输出如下所示: 模型在10,000个纪元表现不错!

    3.6K20

    Android-图片加载策略- Glide 入门和使用

    在这里你获得 android Glide 教程入门介绍 Glide是一个安卓库,允许我们通过单行代码从互联网或网址获取图像。在我之前一篇教程,我向您展示了毕加索图像用法。...Glide是毕加索图书馆一个很好选择。大多数功能在两者中都很常见。 Glide是谷歌推荐流行Android图像库,甚至Google也在各种应用程序中使用它。以下是此库一些功能。...---- Glide图像特点 支持获取图像,GIF和视频静止图像。 可以添加占位符和错误图像。 支持磁盘缓存。 图像调整大小和裁剪。...Glide.with(context).load(IMAGE_URL).into(imageView); ---- 占位符和图像异常处理 您可以添加占位符图像,直到从Internet加载图像。...- Android Glide示例 让我们做一个简单Android应用程序,显示Glide图像用法。

    1.3K10

    android图片加载库Glide

    默认Bitmap格式是RGB_565 一下是Picasso和Glide加载结果(1920x1080 像素图片被加载到768x432像素imageview): ?...这是因为,Picasso加载了完整尺寸图片(1920x1080像素)进入内存,当绘图时候,让GPU即时恢复到所需要尺寸(768x432像素),然而Glide则加载精确imageview尺寸进入内存...外部缓存 在默认情况下Picasso和Glide外部缓存机制是非常不一样,通过实验可以发现(1920x1080 像素图片被加载到768x432像素imageview),Glide缓存是768x432...,只要imageview尺寸不一样,那么Glide就会重新加载一次,这时候,它会在加载imageview之前从网络上重新下载,然后再缓存。...防止各位不明白,再来举个例子,如果一个页面的imageview是200*200像素,而另一个页面imageview是100*100像素,这时候想要让两个imageview像是同一张图片,那么Glide

    1.9K60

    【实操干货】创建一个用在图像内部进行对象检测Android应用程序

    在这里,我们研究创建一个用于在图像内部进行对象检测Android应用程序;如下图所示。 ? 应用程序演示运行 ? 步骤1:准备模型 在本教程,我们将使用经过预训练好ResNet18模型。..._traced.pt存储在一个已知位置,在本教程后续步骤我们需要此位置。...从文件资源管理器/查找器打开您应用程序。 转到app > src > main。 创建一个名为assets文件夹模型复制到此文件夹。...10.我们需要列出模型输出类 转到app > java 在第一个文件夹Java类名称命名为ModelClasses。...运行应用程序,它外观应类似于页面顶部GIF。

    1.2K10
    领券