Android可绘制图像缓存

Android可绘制图像缓存,android,xamarin.forms,xamarin.android,android-drawable,Android,Xamarin.forms,Xamarin.android,Android Drawable,如果我的应用程序显示的是ListView,并且ListView中的ListViewItem显示的信息(包括图像)很少,那么这些图像是否被缓存 换句话说,如果我的ListView显示1000个项目,每个项目在下面的布局中都有一个图像,并且该图像位于我的资源/绘图中,图像是否会被加载1000次,从而消耗1000倍图像大小的内存?还是对所有1000个图像只缓存和加载一次,从而仅消耗1倍图像大小的内存 如果我的应用程序显示的是ListView,并且ListView中的ListViewItem显示的信息(

如果我的应用程序显示的是ListView,并且ListView中的ListViewItem显示的信息(包括图像)很少,那么这些图像是否被缓存

换句话说,如果我的ListView显示1000个项目,每个项目在下面的布局中都有一个图像,并且该图像位于我的资源/绘图中,图像是否会被加载1000次,从而消耗1000倍图像大小的内存?还是对所有1000个图像只缓存和加载一次,从而仅消耗1倍图像大小的内存

如果我的应用程序显示的是ListView,并且ListView中的ListViewItem显示的信息(包括图像)很少,那么这些图像是否被缓存

每次加载图像并将其显示在项目中时,项目应可见,它将消耗1 x图像大小的内存,当您在屏幕中显示10个项目时,它将消耗10 x图像大小的内存,但当您有1000个项目要显示时,则是另一种情况。如果您只是显示这些图像,而没有使用任何ImageLoader逻辑,它将占用大量内存,因此,If将导致

您应该编写自己的ImageLoader逻辑,或者只使用已经存在了一段时间的库,这些库几乎完善了这一点。例如,您可以使用 :

在Android上加载图像的许多常见陷阱都是由毕加索自动处理的:

在适配器中处理ImageView回收和下载取消

使用最少内存的复杂图像转换

自动内存和磁盘缓存


由于它是一个java库,您可以在Xamarin中使用它。

Thank you@Yorkshen您也可以使用为Xamarin设计的FFImageLoading。
+--------------------------------------------------+
|           |             TEXT                     |             
|   IMAGE   |--------------------------------------|
|           |             TEXT          |  TEXT    |
+--------------------------------------------------+