gpt4 book ai didi

java - 在水平 ScrollView 中添加许多图像?

转载 作者:行者123 更新时间:2023-12-02 01:27:17 24 4
gpt4 key购买 nike

我想在水平 ScrollView 中放置更多图像,请假设图像为 a.jpeg、b.jpeg、c.jpeg、(d,e,f,g,h,i).jpeg 并建议我在 ScrollView 中实现它们?

我尝试通过添加许多图像来制作,如下所示。

这个方法是滞后的:

 <HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/a.jpeg"/>

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/b.jpeg"/>

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/c.jpeg"/>

and many other images....

</HorizontalScrollView>

最佳答案

您直接使用图像,而没有正确管理位图在 Android 中占用的内存。

当您通过 android:src 标签直接在 ImageView 中使用图像时,如果图像太大,必然会出现延迟。

图像加载库,如 Glide用于通过根据设备的 dpi 调整图像大小来加载图像。

简而言之:如果您直接在设备上的 ImageView 中加载 1920*1080 的图像,它将加载完整的图像,即全分辨率图像,浪费大量内存做同样的事情,意味着滚动时更多的卡顿/滞后。但是,当您使用图像加载库加载这些相同的图像时,它们会调整图像的大小,这意味着,如果设备是 1080p,则您的图像是 4K 分辨率,并且如果您的 ImageView 填满屏幕(假设图像完全适合设备),该库将调整图像大小并将图像设为 1080p,然后将其放入 ImageView 中,从而节省绘制位图所需的大量内存。

关于java - 在水平 ScrollView 中添加许多图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56722478/

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