Android-приложение Xamarin: backgroundImage, вызывающее сбои и проблемы с производительностью - PullRequest
0 голосов
/ 26 сентября 2018

У меня странная проблема.Мое приложение имеет заставку и после загрузки показывает первую страницу, которая является страницей входа.Если я не добавлю фоновый цвет в стек стека входа в систему, фоновое изображение заставки будет отображаться постоянно.Итак, я сделал это:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"   x:Class="App.Login"
         BackgroundImage="background.jpg">

background.jpg установлен в качестве EmbededResource, и его размер составляет 78 КБ

Это решило проблему, и новый фон отображается, как и ожидалось.Но с этим возникла новая проблема:

с опцией BackgroundImage, приложение очень хорошо работает на MotoG5 (Android 7.0 Nougat), на Asus Zenphone дела идут очень медленно, даже виртуальная клавиатура занимает много времени, чтобы появитьсяесли прикоснуться к любому компоненту ввода и, наконец, к Galaxy S6 (также нуга Android 7.0), приложение показывает заставку и внезапно вылетает.

Если я удаляю опцию BackgroundImage и перекомпилирую, все работает хорошо на 3 указанных устройствах.

Я новичок в этом, но я думаю, что в Login.xaml не так уж много кода:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="App.Login"
             BackgroundImage="background.jpg">
    <ContentPage.Content>
        <StackLayout VerticalOptions="Fill" HorizontalOptions="Fill">
            <Image Source="logomarca.png" HorizontalOptions="Center" Margin="0, 50, 0, 0" />
            <StackLayout VerticalOptions="CenterAndExpand" Margin="25">
                <Label Text="Usuário" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" TextColor="#FF7500" />
                <Entry x:Name="usuario" Placeholder="seu@email.com" FontSize="Small" TextColor="#FF7500" />
                <Label Text="Senha" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" Margin="0, 20, 0, 0" TextColor="#FF7500" />
                <Entry x:Name="senha" Placeholder="******" IsPassword="True" FontSize="Small" Margin="0" TextColor="#FF7500" />
                <Button x:Name="botaoEntrar" Text="Entrar" Clicked="BotaoEntrar_Clicked" TextColor="White" BackgroundColor="#ff9600" />
                <Button x:Name="facebookLogin" Text="Facebook" Clicked="BotaoEntrar_Clicked" TextColor="White" BackgroundColor="#4267b2" />
            </StackLayout>
            <Label x:Name="statusLogin" Text="Validando informações..." HorizontalTextAlignment="Center" HorizontalOptions="CenterAndExpand" TextColor="Green" FontSize="Micro" Margin="0, 0, 0, 40" IsVisible="False" />
            <Label x:Name="rodapeLink" Text="Ainda não tem uma conta? Crie agora." HorizontalOptions="CenterAndExpand" TextColor="#5b93fc" FontSize="Default" Margin="0, 0, 0, 20" />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

logomarca.png имеет только 73kb

Я пытался установить максимальную кучу Java на 1G, но безуспешно.

Вы видите какие-либо проблемы или могли бы дать какой-то советкак это лучший способ справиться с этим?Я не знаю, как отлаживать это, потому что Moto G5 использует тот же Android (Nougat 7.0), и все в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...