PushModalAsync изменение страницы анимация отстает


Я хочу сделать простой переход между двумя страницами, но всякий раз, когда я использую PushModalAsync, я испытываю большую потерю кадров.

Я Samsung Galaxy A3(2016) и Samsung Galaxy A5(2016), но не на Huawei P9 Lite.

Я протестировал это на нескольких телефонах, и проблема сохраняется на Samsung Galaxy A3 (2016) и Samsung Galaxy A5 (2016). В качестве примечания, эти три телефона не имеют большой разницы в спецификации между ними.

Есть ли способ сделать переход плавным или вообще не показывать анимацию?

Я использую следующий код:

var newPage = new NewPage();
await PushModalAsync(newPage);
2   2   2017-07-22 20:55:37

2 ответа:

Попробуйте работать в фоновом режиме...

Task.Factory.StartNew(()=>{
var newPage = new NewPage();
return newPage;
}).ContinueWith(tnp=>{PushModalAsync(tnp.Result);});

Ну, я думаю, что это проблема с GPU старых устройств, которые имеют трудное время рендеринга анимации без потери кадра. Кроме того, я думаю, что трудно оптимизировать код PushModalAsync за пределами его текущего состояния.

Что вы могли бы сделать, так это использовать PushModalAsync(Page, bool) перегрузка . Просто используйте false, чтобы избежать page, чтобы быть анимированным. Это позволит избежать дополнительной нагрузки на графический процессор анимации. Окончательно, Вы должны больше не испытывать потерю кадра.