Из тестов я сделал, кажется, что две вещи могут вызвать задержку при загрузке изображения:
- Когда изображение должно быть загружено из URL, или
- Когда изображение локально находится, но его необходимо разместить на экране дисплея.
Что я не понимал, так это то, что с помощью PhoneGap даже с изображениями на месте может потребоваться некоторое время для загрузки. Это то, что вызывало проблемы для меня. Ну, это и тот факт, что я загружался из URL-адресов. Так что в моем случае я использовал «CSS3 Caching Plugin» как так:
jQuery(function($) {
$.preload.images(document)
});
Это решило мою проблему загрузки изображений, которые были в файле CSS. Но затем для моего удобства я добавил раздел в файл css для локально кэшированных файлов. Как так:
#cacheMe1 { background: #ffffff url('../img/img1.png') 50% 50% repeat-x; }
#cacheMe2 { background: #ffffff url('../img/img2.png') 50% 50% repeat-x; }
#cacheMe3 { background: #ffffff url('../img/img3.png') 50% 50% repeat-x; }
#cacheMe4 { background: #ffffff url('../img/img4.png') 50% 50% repeat-x; }
etc
Это решало кэширования для большинства изображений, плюс это позволило мне по-прежнему сохранять URL-адреса в качестве загрузки в приложение (я есть раздел галереи, где его в настоящее время приемлемо, чтобы увидеть нагрузку изображения, а не на дисплее).
Что я и делал, что, кажется, работает, в том, что я использую «InAppBrowser» плагин для предварительной загрузки целых страниц, открыв их в скрытом окне:
var ref = window.open('http://www.example.com', '_blank', 'hidden=yes');
Если открыть кучу файлов загрузка приложения, кажется, когда вы либо открыть эти URL-адреса снова, или перейти к окну:
ref.show();
Таким образом, есть два приличных способов, которые я нашел в кэш-файлы, которые отлично работает для моего сценария. Надеюсь, это поможет кому-то еще!
preload предназначен для загрузки изображения, которое находится на стороннем сервере, а не для изображений, уже находящихся на устройстве. –
Не совсем. если вы не предварительно загружаете изображения, которые являются локальными, то это все еще кажется медленным. Я получил его работу, и позже опубликует мое решение. – coderama