gpt4 book ai didi

android - 高分辨率背景图像在 Android 中会导致性能问题

转载 作者:行者123 更新时间:2023-11-29 00:15:15 25 4
gpt4 key购买 nike

我想要一个可以缩放以适应 Android 中任何屏幕尺寸的背景图片。图像是静态的,不需要滚动。我制作了 4K 分辨率的图像,以涵盖 future 2-3 年平板电脑上可能存在的分辨率(2560 x 1600 已经存在)。该图像为 JPG,文件大小为 137KB。类似分辨率的图像在 Android 网络浏览器中似乎工作正常。为什么我在 Android 中速度变慢(在 Samsung Galaxy S3 上,它应该有足够的 CPU/RAM 来处理这样的图像)?我不觉得我在做任何不寻常的事情。

这会加载 XML 布局中的图像。该图像当前存储在 drawable-nodpi 中。

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo_background"
android:scaleType="centerCrop" />

为每个类别的屏幕分辨率制作不同尺寸的图像很困难,因为我无法找到有关每个类别中设备的当前最大分辨率只是最小值的信息。

我想在各种 fragment 之间一次又一次地使用相同的背景图像。有没有办法将图像调整到屏幕宽度一次(最好是异步的),然后每次加载调整大小的图像?这可以用 Picasso 来完成吗?

请不要给出“当然,较大的图像会导致性能问题”之类的答案,也不要将我链接到 Google 的支持不同密度。这是一个真正的问题,随着屏幕分辨率的不断提高,这一问题将变得更加严重。令我惊讶的是,处理和调整大图像的大小尚未在 ImageView 类中进行优化,这让我觉得我做错了什么。

最佳答案

问题是您尝试做的事情并不依赖于 SDK。通过拥有一张图像并且必须在运行时更改图像,您将导致在 onDraw() 中的 UI 线程上完成更多工作。

当然,您可以创建特定大小的位图,但是既然可以依赖 SDK,为什么还要进行如此复杂的工作呢?

目前,您可以使用许多不同的文件夹来获取您正在寻找的内容,然后在未来,您可以将 4k 图像放入特定文件夹中。像这样的事情可能会奏效:

可绘制的xhdpi绘制-xxhdpidrawable-xlarge-xhdpi - 对于您要完成的任务可能不够具体drawable-sw600dp - 这允许您为屏幕宽度大于 600dp 的图像指定文件夹。在您将来使用 4k 图像的情况下,此限定符可能会对您的情况有所帮助。

关于android - 高分辨率背景图像在 Android 中会导致性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360383/

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