Good day, I am working on an app with TabbedPages, when I use PushAsync to nagivate to a different ContentPage, there is a very noticeable and distracting flicker between page transitions. The Tabs go toward the center of the screen, freeze for a very short time, then there's a blank screen that flickers and then the new page is loaded. I know this is a known problem, and have searched through several forum posts and tried their suggestions, but nothing has worked for me up to now. Most posts I've found are a bit older and use a MasterDetailPage, which I am not using. I have tried optimizing performance in everyway I can and is recommended, I have XamlCompile enabled throughout my app, and have all my UI elements in XAML and not in Code-behind, my methods are async/await; I've spent hours trying to solve this, but I find no solution. I am developing for Android, and have tested in on multiple physical and emulated devices, they all present the same issue. Any tips/suggestions would be greatly appreciated.
Some things I have tried that have worked for other people, but unfortunately not for me:
var page = new AboutAppPage();
Device.BeginInvokeOnMainThread(() =>
{
App.NavigateToPage(page);
});
//In App class:
public static NavigationPage MainNavPage { get; set; }
public async static void NavigateToPage(Page page)
{
await MainNavPage.PushAsync(page, true);
}
//
////////////////////
var page = new AboutAppPage();
await Navigation.PushAsync(page, true);
////////////////////
Task.Factory.StartNew(() =>
{
var newPage = new ThemeOptionsPage();
return newPage;
}).ContinueWith(tnp => { Navigation.PushAsync(tnp.Result); });
///////////////////
Task<ThemeOptionsPage> taskA = Task.Run(() => new ThemeOptionsPage());
taskA.ContinueWith(antecedent => App.NavigateToPage(antecedent.Result));
These are called from a ContentPage that's a child of my TabbedPage.
Some of the pages I am calling, are very simple with just a few labels and they still experience the flicker, so I am fairly certain the problem is not with the complexity of the pages.
Thanks in advance!
