Из того, что я вижу, может быть проблема. Если вы установите SplashScreen в Styles. xml что-то вроде этого:
<style name="MainTheme.Splash" parent ="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/splashscreen</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
А затем просто установите LoginActivity (экран входа в систему) в качестве MainLaucher, заставка никогда не удаляется, и она будет действовать через все ваше приложение. Представьте, что на экране spla sh увеличилось изображение и перетащите его через все приложение, через некоторое время это вызовет утечку памяти.
Как это исправить. Создайте что-то вроде промежуточного программного обеспечения, которое будет таким же, как экран spla sh, примерно так
[Activity(Theme = "@style/MainTheme.Splash", MainLauncher = true, NoHistory = true, Icon = "@drawable/appicon")]
public class SplashActivity : AppCompatActivity
{
public override void OnCreate(Bundle savedInstanceState, PersistableBundle persistentState)
{
base.OnCreate(savedInstanceState, persistentState);
}
// Launches the startup task
protected override void OnResume()
{
base.OnResume();
Task startupWork = new Task(() => { SimulateStartup(); });
startupWork.Start();
}
// Simulates background work that happens behind the splash screen
async void SimulateStartup()
{
await Task.Delay(500); // Simulate a bit of startup work. You can remove this
StartActivity(typeof(LoginActivity)); // Your Activity
}
}
}
Чем просто использовать fre sh LoginActivity
[Activity(Label = "LoginActivity")]
public class LoginActivity : AppCompatActivity
{
}