Android Glide/Picasso, Hazır Resimlere Konalım

Pelşin KAPLAN
Finagotech
Published in
3 min readJun 2, 2022

Herkese merhaba! Browser’a yazıp görsellerde bulduğunuz resimler var ya hani, işte onları uygulamanızda göstermek için görseli projeye eklemeden internet üzerinden çekerek gösterebilirseniz desem :)

Normal şartlarda uygulamanızda bir resim göstermek istediğinizde bunu drawable dosyanıza ekleyebilir, vector asset ya da image asset olarak oluşturabilirsiniz. Bu şekilde oluşturduğunuz projeler de tamam ama internet üzerinde hazrı varolan bir resim var iken neden durduk yere uygulamanın boyutunu büyütelim ki?

İşte bu kısımda elimizde şeker mi şeker iki kütüphane var: Glide ve Picasso. Bu kütüphaneler, internette bulunan resimleri sadece URL lerini alarak uygulamamızda göstermek için kullanılan kütüphaneler. İkisinin de kullanımı oldukça kolay. İkisini de anlatıp hangisini kullanacağınızı size bırakacağım.

Öncelikle ikisini de tek projede ele alacağım için bir layout içerisinde iki tane imageView yerleştirip, aldığım resimleri buraya eklemeyi planlıyorum. Şöylece bir xml dosyam var elimde.

Ve kütüphaneleri nasıl kullanıcağımızı öğrenmeye başlıyoruz…

Glide

Öncelikle gradle dosyamıza Glide dependencysini ekliyoruz.

implementation 'com.github.bumptech.glide:glide:4.12.0'

Ardından manifest dosyamıza gidip internet izni alıyoruz, çünkü resimleri almak için internete ihtiyacımız var.

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

Ben imageViewımı alırken findViewById kullandım ama öneri olarak viewBinding veya dataBinding tercih edebilirsiniz. Şimdi de bir resim URL i bulalım. Ben de bir tane var :D Onu da bir variable içinde tanımlıyorum ve resmimizi internetten alıyorum.

load() : içerisine, almak istediğiniz görselin URL veya kaynak dosyası belirtebilirisiniz.

into() : load ile alınan görselin nerede gösterileceğini belirtebilirsiniz.

Glide kütüphanesinin, yükleyeceğiniz görselde değişiklik yapabileceğiniz transform, resize gibi metodları da bulunmakta. Lazım olursa bir bakın derim, yardımcı olabilcek bir kaynak da buraya bırakıyorum. İşte Glide bu kadardı :)

Picasso

Bir de Picassoya bakalım. Glide’dan farklı olarak Picasso dependencysini ekliyoruz.

implementation 'com.squareup.picasso:picasso:2.71828'

Picasso için de internet iznine ihtiyacımız var, manifeste eklemeyi unutmayınız. Bunun üzerine Glide kullanırken yaptığımız gibi Picasso kullanarak resmimizi alalım.

Sadece kullandığım kütüphane adını değiştirerek aynı şeyleri yaptım. Gayet kolaymış değil mi? Picasso küütphanesinin de Glide gibi bazı yardımcı metodları var elbette. Onlar için de fikir sahibi olmak isterseniz, yardımcı linki şu köşeye bırakıyorum.

Projenin çıktısını da şuraya koyayım da yüzümüz gülsün değil mi :)

Glide vs Picasso

E o zaman, ufak bir de ne farkı var ki diye bakabiliriz. Yukarıda gördüğünüz gibi ikisinin kullanımı da oldukça benzer ve basit. Araştırmalarıma göre Glide verileri ön belleğe alır fakat Picasso bunu yapmayarak uygulama her çalıştığında ana belleğe erişip veriyi tekrar tekrar yazar. Ayrıca yükleme konusunda Picasso, Glide’a göre bir tık daha yavaş kalıyor. Glide hem performans hem de bellek açısından bir sıfır önde diyebiliriz. Glide’ın başka bir artısı da GIF lere de destek veriyor olması. E tabi bu yetkinliklerin getirmiş olduğu bir eksisi de şu ki kütüphane boyutu olarak Picasso’ya göre büyük.

Son olarak örnek projenin linkini de ekliyorum ve adaya veda ediyorum :)

--

--