Я использую UIL (от Nosotra), чтобы загрузить изображения, которые отображает сервер, и для создания каждого изображения сервер занимает до 50 секунд. Таймаут сервера установлен на 15 секунд, поэтому мы создали механизм опроса, который реализован в методе ImageDownloader.getStream()
. После загрузки изображений отображается в ViewPager (android.support.v4.view.ViewPager
, так же, как sample делает.)Использование Android-UIL, как остановить загрузку?
Когда пользователи переходят на другие страницы, я хочу, чтобы остановить опрос без загрузки файлов, но, кажется, нет "хорошего «способ разорвать поток загрузки.
GetStream Псевдо-код
1. Parse custom-style URI ("asdf://mypng|123455678945643563245");
2. Make a real world URL from it.
3. Poll the server for the image url (causes the server to render - could take up to 1m30s).
4. Get the stream from the URL, return the stream to caller.
Example Code: InputStream is = (InputStream) url.getContent();
Что пытался до сих пор
Возвращаясь null
из моего getStream
метода вызывает NullPointerException
быть выброшен, так это в основном так же, как просто бросали исключение.
Когда исключение, то изображение не останавливается, но:
- Несколько изображений позже, я получаю
OutOfMemoryError
, поэтому я показываю ошибку на экране. Я не должен получать ошибку. Я уже пробовал this SO question's checklist, но ничего не получилось. Это OOM Stacktrace: - Загрузка прекращается, и если средство просмотра не будет перерабатывать представление, то при возврате на эту страницу я все равно увижу эту страницу с ошибкой (без повторной попытки).
Я желаю
Я желаю для меня, чтобы иметь метод «ждать», что бы добавить остановить текущую загрузку и повторно добавить новую задачу в конец очереди (в настоящее время на съемочной площадке на QueueProcessingType.LIFO
, и я хочу, чтобы он загрузил повторно после после текущих страниц, и любые новые страницы, которые пользователь хочет, должны иметь приоритет над повторно добавленными).
Я также согласился бы избежать OutOfMemoryError
.
Пожалуйста, помогите.
См. Также [этот номер] (https://github.com/nostra13/Android-Universal-Image-Loader/issues/903) в проекте GitHub. – Felix
Уверены ли вы, что ваше приложение не имеет утечек памяти? – NOSTRA
До сих пор мы ничего не заметили, , и проблема воспроизводится только при использовании просмотренных страниц. – Felix