Библиотека Fresco от Facebook

от автора

Думаю немногие слышали о Fresco, а многие о ней вовсе не слышали. В этой статье я постараюсь описать функциональные возможности библиотеки.

Итак, Fresco — многофункциональная библиотека для асинхронной загрузки и отображения изображений с тремя уровнями кеширования (2 в памяти, 1 в internal storage). Поддерживает форматы: JPEG, PNG, GIF и WebP. Так же с помощью Fresco можно поставить ProgressBar непосредственно на View, что очень удобно.

Использование Fresco

Для использования требуется добавить зависимость в Gradle:

compile 'com.facebook.fresco:fresco:0.6.1' 

Далее фреско требует чтобы её инициализировали, есть два варианта: либо инициализировать каждый раз в onCreate Activity, либо инициализировать один раз в Application.

Fresco.initialize(context); 

Добавить Internet Permission в манифест, если планируете загружать изображения из вне.

 <uses-permission android:name="android.permission.INTERNET"/> 

В тех местах, где вы планируете использовать Fresco, требуется вместо ImageView использовать класс, унаследованный от GenericDraweeView, но не переживайте, если Вам не требуется особых фишек, которые не предоставляет библиотека, можно использовать SimpleDraweeView, любезно предоставленная Fresco.

Пример использования XML:

 <com.facebook.drawee.view.SimpleDraweeView         android:id="@+id/simpleDraweeView"         android:layout_width="match_parent"         android:layout_height="match_parent"         fresco:fadeDuration="300"         fresco:roundAsCircle="false" /> 

Для загрузки изображения:

Uri uri = Uri.parse("https://raw.githubusercontent.com/facebook/fresco/gh-pages/static/fresco-logo.png"); SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.simpleDraweeView); draweeView.setImageURI(uri); 

Как видите, всё крайне просто.

Итак: как Вы можете заметить, библиотеку Fresco сложнее подключить и использовать, чем, например Picasso, но в случае если Вам мало функциональности Picasso, и требуется что-то нетипичное, то библиотека Fresco идеально Вам подойдёт, так как она гибкая и расширяемая практически везде.

Ссылка на документацию: http://frescolib.org
Ссылка на GitHub: https://github.com/facebook/fresco

ссылка на оригинал статьи http://habrahabr.ru/post/264909/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *