Android продолжительность анимации samsung - PullRequest
0 голосов
/ 30 мая 2020

Сначала у меня возникла проблема с анимацией в моем приложении 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 в этом месте. Так кто-нибудь знает, что здесь происходит?

...