Я использую анимацию с двумя значениями и в конце одного запускаю другой.Это нормально работает на моих протестированных устройствах, но я получаю java.lang.StackOverflowError: stack size 8MB
на многих устройствах в прямом эфире.
Вот как я использовал аниматор значений:
ObjectAnimator fadeOut = ObjectAnimator.ofInt(drawableIcon, "alpha", 255, 0);
ObjectAnimator fadeIn = ObjectAnimator.ofInt(drawableIcon, "alpha", 0, 255);
fadeIn.setDuration(300);
fadeOut.setDuration(300);
fadeOut.setStartDelay(500);
fadeIn.start();
fadeIn.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
fadeOut.start();
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
fadeOut.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
fadeIn.start();
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
Я гуглил, но не могу найти причинуи решение.У какого-нибудь тела есть идея?