Uygulama performansı, kullanıcıların uygulamayı “hızlı” ve “sorunsuz” algılamasında belirleyici faktördür. Yavaş açılış, takılan ekran geçişleri, aşırı pil tüketimi veya gereksiz veri kullanımı; kullanıcı kaybına, düşük mağaza puanlarına ve daha fazla destek maliyetine yol açabilir. Performans optimizasyonu; ölçümleme, darboğaz tespiti ve hedefli iyileştirmelerle yürütülen sürekli bir süreçtir. Bu rehberde, mobil uygulamalarda performansı artırmak için uygulanabilecek pratik adımlar sistematik şekilde açıklanmaktadır.
Gerekenler listesi
- Performans ölçümü için cihaz (tercihen düşük/orta seviye bir cihaz)
- Debug ve release build çıktıları
- Profiling araçları:
Android Studio Profiler (Android için)
Xcode Instruments (iOS için)
Uygulama içi loglama/analitik (isteğe bağlı)
- Test senaryoları (açılış, liste kaydırma, arama, ödeme, medya oynatma vb.)
- Hata/performans takip aracı (isteğe bağlı)
Adım adım nasıl yapılır?
Adım 1: Performans hedeflerinin tanımlanması
Kritik metrikler belirlenir:
Uygulama açılış süresi
Ekran geçiş akıcılığı (takılma/jank)
RAM tüketimi ve bellek sızıntısı
Pil tüketimi
Ağ istek sayısı ve veri kullanım miktarı
Hedefler ölçülebilir şekilde yazılır (ör. “Ana ekran 2 saniye altında açılmalıdır.”).
Adım 2: Release modunda ölçüm yapılması
- Performans değerlendirmesi yalnızca debug sürümle yapılmamalıdır.
- Release build alınarak gerçekçi ölçüm yapılır:
Android: release APK/AAB
iOS: TestFlight veya ad-hoc dağıtım
Uygulamanın en yoğun kullanılan akışları aynı senaryolarla tekrar test edilir.
Adım 3: UI tarafında çizim (render) yükünün azaltılması
- Gereksiz animasyonlar, gölgeler, blur efektleri ve aşırı katman kullanımı azaltılır.
- Liste ekranlarında:
Sonsuz kaydırma gerekiyorsa sayfalama (pagination) uygulanır.
Uzun listelerde “lazy loading” (görünene göre yükleme) tercih edilir.
Büyük görseller doğrudan yüksek çözünürlükte basılmamalı; cihaz boyutuna uygun çözünürlükte sunulmalıdır.
Adım 4: Ağ isteklerinin optimize edilmesi
- Aynı ekranda gereksiz tekrar eden API çağrıları engellenir (cache ve state yönetimi).
- İstekler birleştirilir veya batched (toplu) hâle getirilir.
- Zayıf ağ koşullarında:
Time-out değerleri mantıklı belirlenir
Retry (yeniden dene) stratejisi kontrollü uygulanır
Offline/yarı offline senaryoları (cache) tasarlanır
Adım 5: Önbellekleme stratejisinin kurulması
- Statik içerikler (ayarlar, kategoriler, kullanıcı profil bilgileri vb.) yerel saklanabilir.
- Görseller için disk cache kullanılmalıdır.
- Veri güncelliği gerektiren ekranlarda:
“Cache-first” veya “Network-first” yaklaşımı senaryoya göre seçilir.
Cache temizleme politikası (süre/limit) tanımlanmalıdır.
Adım 6: Bellek yönetimi ve sızıntıların önlenmesi
- Büyük objeler (bitmap, video, liste verisi) gereksiz süre bellekte tutulmamalıdır.
- Sayfa kapanınca abonelikler/observer’lar temizlenmelidir.
- Görsel/video gibi ağır içerikler:
Uygun sıkıştırma ve formatlarla kullanılmalıdır
Gerektiğinde “thumbnail” üretimi uygulanmalıdır
Uzun süreli kullanım testleri (30–60 dk) ile bellek artışı izlenmelidir.
Adım 7: Arka plan işleri ve pil tüketiminin azaltılması
- Konum, sensör, sürekli ağ dinleme gibi arka plan işleri minimumda tutulmalıdır.
- Senkronizasyonlar:
Zamanlanmış ve ihtiyaca göre tetiklenen (event-based) yapılmalıdır
Kullanıcı etkileşimi yokken yoğun işlem yapılmamalıdır
Push bildirimleri, gereksiz aralıklarla yapılan “polling” yerine tercih edilebilir.
Adım 8: Uygulama boyutu ve başlangıç performansının iyileştirilmesi
- Uygulama açılışında gereksiz başlangıç işlemleri ertelenmelidir (lazy init).
- Kullanılmayan kütüphaneler, fontlar ve görseller kaldırılmalıdır.
- Android tarafında:
Kaynak küçültme ve gereksiz resource temizliği uygulanabilir
iOS tarafında:
Büyük asset’ler gözden geçirilmeli, gereksiz paketler azaltılmalıdır
Adım 9: Sürekli izleme ve regresyon kontrolü
- Her sürümde aynı performans senaryoları çalıştırılarak kıyas yapılır.
- Performans düşüşleri (regresyon) tespit edildiğinde, değişiklik seti bazında neden analizi yapılır.
- Üretim ortamında crash, ANR, yavaş ekran açılışı gibi metrikler düzenli takip edilir.
İpuçları ve sık yapılan hatalar
- Performans optimizasyonuna ölçüm yapmadan başlamak, yanlış noktaya müdahaleye neden olabilir.
- Yalnızca güçlü cihazlarla test yapmak, düşük donanımlı kullanıcıları gözden kaçırır.
- “Her veriyi anlık çekme” yaklaşımı, ağ ve pil tüketimini artırır; cache stratejisi şarttır.
- Liste ekranlarında tüm veriyi tek seferde yüklemek, UI donmalarına yol açabilir.
- Release build yerine debug üzerinden performans kararı verilmesi hatalı sonuç üretir.
Editör notu
Uygulama performansı; UI akıcılığı, ağ yönetimi, bellek kullanımı ve arka plan işleri gibi birçok bileşenin birlikte ele alınmasını gerektirir. Önce ölçümleme yapılarak darboğazların tespit edilmesi, ardından hedefe yönelik iyileştirmelerin uygulanması en verimli yaklaşımdır. Düzenli regresyon testleri ve üretim metriklerinin izlenmesi, performans kazanımlarının sürdürülebilir olmasını sağlar.
