1

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

该方法是从主线程调用的。我该如何解决这个问题?还是有另一种方法可以在两个图像之间进行交叉淡入淡出?

4

0 回答 0