我在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