Думаю немногие слышали о Fresco, а многие о ней вовсе не слышали. В этой статье я постараюсь описать функциональные возможности библиотеки.
Итак, Fresco — многофункциональная библиотека для асинхронной загрузки и отображения изображений с тремя уровнями кеширования (2 в памяти, 1 в internal storage). Поддерживает форматы: JPEG, PNG, GIF и WebP. Так же с помощью Fresco можно поставить ProgressBar непосредственно на View, что очень удобно.
Использование Fresco
Для использования требуется добавить зависимость в Gradle:
или с помощью Maven
Далее фреско требует чтобы её инициализировали, есть два варианта: либо инициализировать каждый раз в onCreate Activity, либо инициализировать один раз в Application.
Добавить Internet Permission в манифест, если планируете загружать изображения из вне.
В тех местах, где вы планируете использовать Fresco, требуется вместо ImageView использовать класс, унаследованный от GenericDraweeView, но не переживайте, если Вам не требуется особых фишек, которые не предоставляет библиотека, можно использовать SimpleDraweeView, любезно предоставленная Fresco.
Пример использования XML:
Для загрузки изображения:
Как видите, всё крайне просто.
Итак: как Вы можете заметить, библиотеку Fresco сложнее подключить и использовать, чем, например Picasso, но в случае если Вам мало функциональности Picasso, и требуется что-то нетипичное, то библиотека Fresco идеально Вам подойдёт, так как она гибкая и расширяемая практически везде.
Ссылка на документацию: http://frescolib.org
Ссылка на GitHub: https://github.com/facebook/fresco
Итак, Fresco — многофункциональная библиотека для асинхронной загрузки и отображения изображений с тремя уровнями кеширования (2 в памяти, 1 в internal storage). Поддерживает форматы: JPEG, PNG, GIF и WebP. Так же с помощью Fresco можно поставить ProgressBar непосредственно на View, что очень удобно.
Использование Fresco
Для использования требуется добавить зависимость в Gradle:
compile 'com.facebook.fresco:fresco:0.6.1'
или с помощью Maven
<dependency>
<groupId>com.facebook.fresco</groupId>
<artifactId>fresco</artifactId>
<version>0.6.1</version>
</dependency>
Далее фреско требует чтобы её инициализировали, есть два варианта: либо инициализировать каждый раз в 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