我尝试使用ImageViews
方法在我的Android应用中同时更改15 setImageResource()
上的图片,但我收到此错误消息:I/Choreographer: Skipped 46 frames! The application may be doing too much work on its main thread.
。或者应用程序崩溃。
以下是我如何设置ImageViews
:
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
app:srcCompat="@drawable/logo"
android:id="@+id/logo1" />
以下是我设置ImageViews
并更改其图片的方式:
private ImageView logo1;
private ImageView logo2;
...
private ImageView logo15;
logo1 = (ImageView) findViewById(R.id.logo1);
logo2...
...
logo15 = (ImageView) findViewById(R.id.logo15);
logo1.setImageResource(R.drawable.newLogo1);
logo2...
...
logo15.setImageResource(R.drawable.newLogo15);
如果我只更改一个ImageView
的图片,应用程序可以正常工作,但当我同时更改15时应用程序崩溃..
答案 0 :(得分:0)
“跳过46帧!”意味着您的申请中会有一些繁重的处理。
有关详细信息,请参阅此处: The application may be doing too much work on its main thread
我建议使用图像的回收视图,而不是一次加载所有图像。