gpt4 book ai didi

android - 优化使用 BitmapFactory.Options.inSampleSize 以提高速度

转载 作者:IT老高 更新时间:2023-10-28 23:00:29 28 4
gpt4 key购买 nike

感谢 Schermvlieger 询问 this anddev.org 上的问题,

我只是将他的问题复制给 SO,因为没有人在其他网站上回复,我也面临同样的问题。

我想知道在显示图像的速度方面,BitmapFactory.Options.inSampleSize 的最佳用途是什么。
文档提到使用 2 的幂的值,所以我正在使用 2、4、8、16 等。

我想知道的事情是:

  1. 我应该重新采样到仍然大于屏幕分辨率的最小尺寸,还是应该缩小到刚好足以避免 OutOfMemoryError 的尺寸?
  2. 如何计算在不耗尽内存的情况下仍可显示的图像的最大尺寸?图像的颜色深度以及显示的深度是否也起作用?
  3. 通过两种机制显示图像是否有效(BitmapFactory 用于大文件,setImageURI() 用于较小的文件)我正在使用 ImageSwitcher 顺便说一句。
  4. 是否有助于在应用程序开始时创建 BitmapBitmapFactory.OptionsinTempStorage 或仅在运行中创建它们,什么时候需要?

最佳答案

您应该始终尝试加载和预缩放图像,以使它们尽可能接近最终显示的尺寸。在绘图时缩放图像非常昂贵,应该不惜一切代价避免。

考虑到图像的内存成本,是的,颜色深度起着非常重要的作用。 ALPHA_8 格式的图像每个像素使用 1 个字节,RGB_565 或 ARGB_4444 格式的图像每个像素使用 2 个字节,ARGB_8888 格式的图像每个像素使用 4 个字节。显示的深度根本无关紧要。您应始终尝试使用 ARGB_8888 以获得最佳质量,但如果您的图像不透明,565 就足够了。

关于android - 优化使用 BitmapFactory.Options.inSampleSize 以提高速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4825214/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com