所以我的应用程序需要在FrameView中同时在屏幕上最多显示50个图像,它们需要放在基本图像的顶部。如果我将这些图像放入drawable中,则在使用OutOfMemoryError放置一些图像后,应用程序会崩溃。但是当我出于某种原因将图像放在mipmap中而不会崩溃时它会起作用。所以我将它们全部放入mipmap文件夹中。图像非常小,其中最大的是2.2 KB,最小的是398字节。该应用程序按预期工作,但在将一些图像放在屏幕上后,性能很糟糕。前几张图像会快速加载,但是当您继续将图像放到屏幕上时,它会逐渐变慢,以至于可能需要几秒钟才能将图像放到屏幕上。我只是使用ArrayList将所有Drawable放入,然后使用另一个ArrayList放置所有ImageViews,然后将它们加载到我的onTouchListener中的视图中。这是一个想法。索引用于决定要插入哪个图像:
drawableOverlays.set(index, getResources().getDrawable(R.mipmap.exampleImage, null));
imageOverlays.get(index).setImageDrawable(drawableOverlays.get(index));
frame.addView(imageOverlays.get(index));
我也尝试过使用Glide和Picasso以及加载得更慢的人。我接近这个错吗?有没有更有效的方法来实现这一目标?
答案 0 :(得分:0)
最好的方法是使用ImageViews创建一个RecyclerView作为项目,然后使用Glide或Picasso加载图像,任何这些库都将为您提供最佳性能