Что лучший способ состоит в том, чтобы заставить прокручивающий сторону веб-сайт загрузить быстро?

Подумайте об использовании асинхронного обработчика событий вместе со статическим HttpClient

static HttpClient client = new HttpClient();

public MainPage() {
    InitializeComponent();
    loadingData += onLoadingData;        
}

protected override void OnAppearing() {
    //loadingData -= onLoadingData; //(optional)
    loadingData(this, EventArgs.Empty);
    base.OnAppearing();
}

private event EventHandler loadingData = delegate { };

private async void onLoadingData(object sender, EventArgs args) {
    var model = await GetPatientData();
    this.BindingContext = new PatientViewModel(model);
}

public async Task GetPatientData() {
    PatientModel patient = null;
    try {
        Uri weburl = new Uri("myuri");
        Console.WriteLine("a");
        var response = await client.GetAsync(weburl);
        Console.WriteLine("b");
        if (response.IsSuccessStatusCode) {
            Console.WriteLine("in");
            patient = await response.Content.ReadAsAsync();
            Console.WriteLine("in funciton");
        }           
    }catch(Exception ex) {
        Console.WriteLine(ex);
    }
    return patient;
}

. Использование этого шаблона может помочь избежать блокирования вызовов и исчерпания сокетов, которые иногда могут привести к взаимным блокировкам, которые могут вызвать возникшие тайм-ауты.

Ссылка Async / Await - Лучшие практики асинхронного программирования

Ссылка Вы неправильно используете HttpClient

5
задан user54021 12 January 2009 в 01:25
поделиться

4 ответа

Заметьте, что большая часть графики на сайте Sursly является чистым черным и белый. Это заставляет сайт загрузиться существенно быстрее, так как файлы могут быть оптимизированным путем вниз.

2
ответ дан 14 December 2019 в 09:03
поделиться

Используя что-то как jQuery Ленивый Плагин Загрузки можно получить воспринятое ускорение с тех пор, только видимые изображения будут загружены. Таким образом, они не будут конкурировать с от отображаемых изображений.

Я знаю, что Вы будете, вероятно, использовать mootools, но меня удивило бы, если бы у них не было чего-то подобным.

2
ответ дан 14 December 2019 в 09:03
поделиться

Я согласовываю с Прошлым ответ, но изменил бы это немного: вместо того, чтобы загрузиться это, поскольку Вам нужен он, загружает его, когда Вы можете. Таким образом, первоначально загрузите только первую страницу. После того как это загрузило, затем загружает второе, затем третье и так далее.

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

Не забудьте быть осторожными с этими методами, если Вы интересуетесь тем, чтобы быть индексированным поисковыми системами.

2
ответ дан 14 December 2019 в 09:03
поделиться

Большинство веб-сайтов, которые делают эту работу как Google Maps, делает. Они делят мир (или в Вашем случае, виртуальной прокручивающей сторону странице) в мозаики. Поскольку пользователь прокручивает, Ajax используется для загрузки следующей мозаики, и это отображено, когда пользователь достигает края в настоящее время видимой мозаики.

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

1
ответ дан 14 December 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: