Kullanıcılar yavaş uygulamalardan nefret eder. Liste kaydırırken yaşanan takılmalar (Janky frames), uygulamanın geç açılması (Cold Start) veya arkada çalışırken telefonu ısıtıp bataryayı tüketmesi, dünyanın en iyi iş fikrini bile başarısızlığa sürükler. Mobil cihazlar birer sunucu değildir; sınırlı belleğe (RAM), kısıtlı pil gücüne ve yavaş internet bağlantılarına sahiptirler. Bu kısıtlamalara saygı duymayan kodlar, uygulamanın çökmesine (OOM - Out of Memory) sebep olur.
Mobil Performansı Etkileyen 4 Temel Faktör
1. Ağ İstekleri ve Önbellekleme (Caching)
Her sayfa açılışında aynı profil fotoğrafını veya veritabanı listesini sunucudan tekrar indirmek, en büyük amatörlüklerden biridir. Uygulama verileri cihazın yerel veritabanında (CoreData, Room, SQLite) önbelleğe alınmalıdır (Caching). Yeni veri isteği geldiğinde, sadece değişen (delta) veriler JSON formatında çekilmelidir. Bu, uygulamanın uçak modunda bile açılmasını ve son verileri gösterebilmesini sağlar.
2. Görsel (Resim) Optimizasyonu
Akışta (Feed) listelenen görseller orijinal 4K boyutunda indirilmemelidir. Backend, yüklenen görselleri otomatik olarak farklı boyutlarda kesmeli ve uygulamanın gösterdiği ekran alanına uygun küçük boyutu (thumbnail) mobil cihaza iletmelidir. Ek olarak WebP formatı, JPEG'e göre %30 daha az veri tüketir.
3. Liste Optimizasyonu (Recycling/Lazy Loading)
Kullanıcı binlerce satırlık bir ürün listesinde aşağı kaydırırken, ekran dışında kalan kartların hafızadan silinmesi ve sadece o an ekranda görünen öğelerin bellekte tutulması gerekir. (iOS'te UICollectionView, Android'de RecyclerView). Eğer tüm liste aynı anda belleğe (RAM) yüklenirse, kaydırma (scroll) sırasında takılmalar başlar (60 FPS kuralı ihlâl edilir).
Memory Leak (Bellek Sızıntısı) Tespiti
Yazılımcılar objeleri oluşturup işlemi bittikten sonra hafızadan silmezlerse, uygulama açık kaldığı süre boyunca RAM tüketimi artar. En sonunda işletim sistemi müdahale ederek uygulamayı zorla kapatır. LeakCanary (Android) veya Xcode Instruments (iOS) kullanılarak, bellekte gereksiz yer kaplayan, silinmemiş objeler tespit edilmeli ve sızıntılar kapatılmalıdır.
Yavaşlığa Tahammülünüz Yok mu?
Uygulamanızın kaynak kodunu (Code Review) inceleyip darboğazları tespit eden performans optimizasyon hizmetimizle tanışın.
Performans Denetimi İste