Считывает данные кадра из источника изображения GIF и декодирует их в отдельные кадры для целей анимации. Данные изображения можно считывать либо из источника Inputstream, либо из byte[].
Наша цель на данном этапе — проанализировать и показать.
Создание системы анализа GIF.
Создайте определяемое пользователем изображение, а затем поддержите отрисовку элемента.
Общий процесс выглядит следующим образом:
«Glide.with(this).asGif().load(resId).into(draweeview)» — после успешной загрузки «DrawableImageViewTarget.java» присваивает значение «Elemet» целевому «Image». (DraweeView).
«GifDrawable» вызывает «invalidateSelf» после метода «onFrameReady», а затем ищет элемент управления, который зарегистрировал «Callback», чтобы выполнить метод «invalidateDrawable».
Поскольку загрузка GIF требует больших затрат ресурсов, необходимо правильно организовать загрузку GIF. Поэтому добавлены управление нарезкой и управление жизненным циклом. При использовании «Glide.with(Ability или AbilitySlice)» получаем ILifeCyle и отслеживаем его жизненный цикл. Когда ILifeCycle переходит в состояние BACKGround, мы активно останавливаем работу GIF и запускаем работу GIF, когда ILifeCycle переходит в состояние INACTIVE.
Конкретная задача — использовать RequestManagerFragment для привязки ActivityFragmentLifeCycle. Затем RequestManagerFragment получает жизненный цикл ActivitySlice и следит за ним.
a. Загрузить GIF из сети
java
DraweeView image = (DraweeView) findComponentById(ResourceTable.Id_image);
Glide.with(this)
.asGif()
.load("https://img.blog.csdnimg.cn/2019120901303086.gif);
.into(image);
b. Загрузить GIF из локального файла
java
DraweeView image = (DraweeView) findComponentById(ResourceTable.Id_drawview);
Glide.with(this)
.asGif()
.load(ResourceTable.Media_happygirl);
.into(draweeView);
Важно!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )