我在 android 中遇到了 TransitionDrawable 类的问题,导致严格模式下的 ANR。这是导致 ANR 的方法调用:
private void crossFadeImages(Drawable imageToFadeOut, Drawable imageToFadeIn) {
TransitionDrawable td = new TransitionDrawable( new Drawable[] {
imageToFadeOut,
imageToFadeIn
});
m_myimageView.setImageDrawable(td);
td.startTransition(200);
}
我正在传递两个可绘制对象。imageToFadeOut 具有以下规格:
337X599 PNG(32位颜色)93.85KB
并且 imageToFadeIn 具有以下规格:
337X599 PNG(32位颜色)395.16KB
并且 ANR 是在 nexus 5 模拟器 api 19 xxhdpi 中引起的。实际的 ANR 主要以严格模式显示。
我收到以下日志错误
"I/Choreographer: Skipped 33 frames! The application may be doing too much work on its main thread."
该方法是从主线程调用的。我该如何解决这个问题?还是有另一种方法可以在两个图像之间进行交叉淡入淡出?