async public void ShowPageRun()
        {
            ApplyCalibration(true);

            if (isDemoMode)
            {
                DemoAcceleromter demoAcceleromter = new DemoAcceleromter(runModeProvider.Mode, accelerometerProvider);
                DemoGps          demoGps          = new DemoGps(demoAcceleromter);

                pageRun = new PageRun(runModeProvider,
                                      demoGps,
                                      demoAcceleromter,
                                      this,
                                      true);
            }
            else
            {
                pageRun = new PageRun(runModeProvider,
                                      gpsProvider,
                                      accelerometerProvider,
                                      this,
                                      false);
            }

            await Navigation.PushAsync(pageRun);
        }
        public void Dispose() // IDisposable
        {
            imgBackground.Source = null;
            imgBackground        = null;

            imgGpsStateOk.Source = null;
            imgGpsStateOk        = null;

            imgGpsStateNotOk.Source = null;
            imgGpsStateNotOk        = null;

            imgMountStateOk.Source = null;
            imgMountStateOk        = null;

            imgMountStateNotOk.Source = null;
            imgMountStateNotOk        = null;

            imgVelocityStateOk.Source = null;
            imgVelocityStateOk        = null;

            imgVelocityStateNotOk.Source = null;
            imgVelocityStateNotOk        = null;

            if (Config.Debug.PageRunAdjustEnabled)
            {
                imgDebugRunAdjust.Source  = null;
                imgDebugRunAdjust         = null;
                tgrDebugRunAdjust.Tapped -= OnImageDebugRunAdjust;
                tgrDebugRunAdjust         = null;
            }

            lblGpsState.SizeChanged      -= OnLayoutSizeChanged;
            lblMountState.SizeChanged    -= OnLayoutSizeChanged;
            lblVelocityState.SizeChanged -= OnLayoutSizeChanged;

            lblGpsState      = null;
            lblMountState    = null;
            lblVelocityState = null;

            lytHorizontalTab = null;

            btnTabAcceleration.Image    = null;
            btnTabAcceleration.Clicked -= OnButtonTabAcceleration;
            btnTabAcceleration          = null;

            btnTabBrake.Image    = null;
            btnTabBrake.Clicked -= OnButtonTabBrake;
            btnTabBrake          = null;

            btnTabZeroToZero.Image    = null;
            btnTabZeroToZero.Clicked -= OnButtonTabZeroToZero;
            btnTabZeroToZero          = null;

            btnTabResults.Image    = null;
            btnTabResults.Clicked -= OnButtonTabResults;
            btnTabResults          = null;

            btnHelp.Image    = null;
            btnHelp.Clicked -= OnButtonHelp;
            btnHelp          = null;

            if (Config.Debug.PagePurchaseEnabled)
            {
                btnDebugPurchase.Image    = null;
                btnDebugPurchase.Clicked -= OnButtonDebugPurchase;
                btnDebugPurchase          = null;
            }

            btnConfig          = null;
            btnConfig.Image    = null;
            btnConfig.Clicked -= OnButtonConfig;

            btnSetup.Image    = null;
            btnSetup.Clicked -= OnButtonSetup;
            btnSetup          = null;

            btnRun.Image    = null;
            btnRun.Clicked -= OnButtonRun;
            btnRun          = null;

            btnProfile.Image    = null;
            btnProfile.Clicked -= OnButtonProfile;
            btnProfile          = null;

            gpsProvider           = null;
            accelerometerProvider = null;
            runModeProvider       = null;
            soundProvider         = null;
            accelerometerRecorder = null;
            pageRun            = null;
            pageConfig         = null;
            pageProfile        = null;
            pageResults        = null;
            pageHelp           = null;
            pageDebugRunAdjust = null;
            pageDebugPurchase  = null;
            pageSetup          = null;
        }