我在XML文件中创建了15个ImageViews,并且必须以编程方式设置它们的图像。

我已经尝试过执行以下代码:

imageView1.setImageResource(R.drawable.imageOne);


直到我尝试使用所有15个ImageViews都可以正常工作:

imageView1.setImageResource(R.drawable.imageOne);
...
imageView15.setImageResource(R.drawable.imageFifteen);


现在,由于上面的代码,应用程序在尝试加载视图时崩溃。我得到这个奇怪的消息:I/Choreographer: Skipped 46 frames! The application may be doing too much work on its main thread.

最佳答案

我认为您使用的是滚动视图,可重复使用的视图不支持该视图。如果要创建多个图像视图并设置图像,则应使用支持可重用视图的listview / RecyclerView等。尝试阅读有关可重用性的文章。

您正在加载较大的图像,这需要更多的内存才能显示,因此您的应用程序也可能崩溃。阅读:
https://developer.android.com/topic/performance/graphics/load-bitmap.html

07-25 21:35