Getting Started with Fresco

suggest change

First, add Fresco to your build.gradle as shown in the Remarks section:

If you need additional features, like animated GIF or WebP support, you have to add the corresponding Fresco artifacts as well.

Fresco needs to be initialized. You should only do this 1 time, so placing the initialization in your Application is a good idea. An example for this would be:

public class MyApplication extends Application {

@Override public void onCreate() { super.onCreate(); Fresco.initialize(this); }


If you want to load remote images from a server, your app needs the internt permission. Simply add it to your AndroidManifest.xml:

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

Then, add a SimpleDraweeView to your XML layout. Fresco does not support wrap_content for image dimensions since you might have multiple images with different dimensions (placeholder image, error image, actual image, …).

So you can either add a SimpleDraweeView with fixed dimensions (or match_parent):


android:id=”@+id/my_image_view” android:layout_width=“120dp” android:layout_height=“120dp” fresco:placeholderImage=”@drawable/placeholder” />


Or supply an aspect ratio for your image:


android:id=”@+id/my_image_view” android:layout_width=“120dp” android:layout_height=“wrap_content” fresco:viewAspectRatio=“1.33” fresco:placeholderImage=”@drawable/placeholder” />


Finally, you can set your image URI in Java:

SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(;

That’s it! You should see your placeholder drawable until the network image has been fetched.

Feedback about page:

Optional: your email if you want me to get back to you:

Table Of Contents