Сначала у меня возникла проблема с анимацией в моем приложении java android, он тратит немного меньше времени на игру на Samsung a30, чем я ожидал. Код был примерно таким:
ObjectAnimator moveanimation = ObjectAnimator.ofFloat(p1, "Y",
mMainLay.getHeight()/2);
ObjectAnimator Xanimation = ObjectAnimator.ofFloat(p1, "scaleX",
1.4f);
//300);
ObjectAnimator Yanimation = ObjectAnimator.ofFloat(p1, "scaleY",
5);
//50);
AnimatorSet animSetXY = new AnimatorSet();
animSetXY.playTogether(Xanimation, Yanimation,moveanimation);
animSetXY.setDuration(500l);
animSetXY
.addListener(new AnimatorListenerAdapter() {
public void onAnimationEnd(Animator animation) {
openLesson(fNum);
}});
animSetXY.start();
Как видите, я установил продолжительность этой анимации на 500 мс. На моем устройстве игра в один момент. Я нахожу информацию о какой-то особенной вещи на устройстве Samsung, о масштабировании скорости анимации в системе, поэтому я думаю, что это проблема Samsung. Но прежде чем я разберусь с этим случаем, я обнаружил, что handler.postDelay () имеет такое же поведение:
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
fDialog.dismiss();
fNext.run();
}
}, 500);
И только одна мгновенная пауза в моем Samsung в этом месте. Так кто-нибудь знает, что здесь происходит?