在同时将新图像设置为多个ImageView时跳过帧

时间:2018-04-13 14:01:32

标签: java android android-studio

我尝试使用ImageViews方法在我的Android应用中同时更改15 setImageResource()上的图片,但我收到此错误消息:I/Choreographer: Skipped 46 frames! The application may be doing too much work on its main thread.。或者应用程序崩溃。

以下是我如何设置ImageViews

的XML代码
<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时应用程序崩溃..

1 个答案:

答案 0 :(得分:0)

“跳过46帧!”意味着您的申请中会有一些繁重的处理。

有关详细信息,请参阅此处: The application may be doing too much work on its main thread

我建议使用图像的回收视图,而不是一次加载所有图像。