Skip to main content
Mobil Geliştirme

Mobil Uygulama Performansını 10 Kat İyileştirmek: Hem iOS Hem Android İçin Uygulanabilir Taktikler

March 03, 2026 5 min read 28 views Raw
Instagram, Snapchat ve Chrome gibi popüler uygulamaları içeren akıllı telefonun ana ekranının yakın çekimi.
Table of Contents

Mobil uygulama performansını büyük ölçüde iyileştirmek, kullanıcı memnuniyetini, dönüşümü ve uygulamanızın mağaza sıralamasını doğrudan etkiler. Bu yazıda hem iOS hem Android için uygulanabilir, ölçülebilir ve önceliklendirilebilir taktikleri adım adım ele alıyoruz. Önce ölçün, sonra optimize edin; her optimizasyonun kullanıcı üzerindeki etkisini sayısal olarak takip edin.

1. Ölçüm: Her şey profil ile başlar

Performans iyileştirmesine başlamadan önce doğru araçlarla mevcut durumu anlayın. iOS için Xcode Instruments (Time Profiler, Allocations, Leaks, Core Animation), Android için Android Studio Profiler, Systrace ve GPU Profiler kullanın. Ayrıca Firebase Performance, New Relic veya Sentry gibi uygulama izleme çözümleri ile prod ortamda gerçek kullanıcı metriklerini (RUM) toplayın.

Ölçüm metrikleri

Başlangıç süresi (cold start), CPU kullanımı, bellek kullanımı, garbage collection sıklığı, ana iş parçacığı (main thread) blokajları, frame rate (Hedef: 60fps veya cihazın refresh rate'ine uygun sabit kare süresi), ağ gecikmeleri ve hata oranları temel metriklerdir.

2. CPU ve bellek (Memory) optimizasyonu

Aşırı CPU kullanımı ve bellek sızıntıları uygulamanızı yavaşlatır veya çökmesine neden olur. Profil oluşturun ve en yoğun fonksiyonları optimize edin.

Pratik öneriler

- Ağır hesaplamaları arka plan iş parçacıklarına taşıyın: iOS için DispatchQueue.global(), Android için Executors veya Kotlin coroutines kullanın. - Nesne oluşturmayı azaltın; yeniden kullanılabilir nesneler (object pool) veya cache mekanizmaları uygulayın. - Bellek sızıntılarını tespit etmek için Instruments / LeakCanary kullanın. View'ların ve listener'ların doğru şekilde temizlendiğinden emin olun. - Collection işlemlerinde gereksiz kopyalamalardan kaçının; immutable veri yapıları sıkça yeni nesne oluşturuyorsa dikkat edin.

3. Başlangıç (Startup) süresini kısaltma

Uygulamanın ilk açılış süresi kullanıcı deneyimi açısından kritiktir. Cold start ve warm start sürelerini ayrı ayrı ölçün.

İyileştirme adımları

- Lazy initialization: Sık kullanılmayan SDK ve modülleri başlangıçta yüklemeyin. - Asenkron init: UI görünmeden önce gereken minimum işlemleri yapın, diğerleri arka planda devam etsin. - iOS'ta App Thinning, on-demand resources ile binary boyutunu küçültün. Android'de split APK / App Bundle ve ProGuard/R8 ile shrink ve minify yapın. - Ana iş parçacığını bloklayacak uzun işlemleri kaldırın; özellikle synchronous I/O ve veritabanı sorguları startup'ta yapılmamalı.

4. UI ve rendering optimizasyonu

UI gecikmeleri ve dropped frame'ler doğrudan hissedilir. Uygulamayı daha akıcı hale getirmek için render pipeline'ı optimize edin.

Teknikler

- View hiyerarşisini basitleştirin; gereksiz nested layout'lardan kaçının. Android'de ConstraintLayout, iOS'ta Auto Layout optimizasyonları (setNeedsLayout çağrıları) kullanın. - Reuse pattern: iOS'ta UITableView/UICollectionView hücreleri, Android'de RecyclerView adaptörü doğru şekilde yeniden kullanılmalı. - Overdraw'ı azaltın, gereksiz arka plan çizimlerini engelleyin. - Animasyonlar için GPU hızlandırmalı API'ları (Android: ViewPropertyAnimator, iOS: UIViewPropertyAnimator veya Core Animation) tercih edin. - Complex view rendering gerekiyorsa, prerendering veya bitmap caching düşünün. - Hedef frame süresi: 16ms (60fps) veya cihazın yenileme oranına uygun olarak gecikmeyi minimize edin.

5. Ağ (Networking) optimizasyonları

Ağ gecikmeleri uygulamayı yavaşlatır; akıllı stratejilerle hissedilen performansı artırabilirsiniz.

Öneriler

- HTTP/2 veya gRPC kullanın; bağlantı yeniden kullanımını sağlayın. - İstemci tarafı cache (OkHttp cache, URLCache) ve sunucu tarafı cache kontrolü ile tekrar isteklerini azaltın. - Resimleri doğru boyutlandırın ve WebP/HEIF gibi verimli formatlar kullanın. Android için Coil/Glide, iOS için SDWebImage tercih edin. - Tailored payloads: yalnızca gereken verileri çekin (fields seçimi, pagination). - Offline-first stratejileri ve background sync ile kullanıcı etkileşimini ağ beklemelerinden ayırın.

6. Depolama ve veri tabanı optimizasyonu

Yerel veri erişimi hızlı olmalı. Veritabanı sorgularını optimize edin ve indeksleri doğru kullanın.

İpuçları

- Sorguları profil edin; maliyetli JOIN ve full table scan'lerden kaçının. - Önbellekleme: sık kullanılan veri için memory cache (NSCache, LruCache) ekleyin. - İndeksleri güncel tutun ve gereksiz disk yazma operasyonlarını minimize edin (batch writes, transactions). - Büyük dosyalar için streaming veya parçalı okuma/yazma kullanın.

7. Arka plan işleri ve pil (Battery) tasarrufu

Pil tüketimi performansla doğrudan ilgilidir. Enerji verimli kod, kullanıcı memnuniyetini artırır.

Öneriler

- Background job scheduling: Android'de WorkManager/JobScheduler, iOS'ta BackgroundTasks ve URLSession background transfer kullanın. - GPS, sık timer'lar ve wake-lock kullanımını sınırlandırın. - Push bildirimleri ve server-side events ile gereksiz polling'den kaçının. - Uygulama uyku durumlarına saygı gösterin; enerji yoğun işlemleri cihaz şarja takılıyken veya belirli koşullarda çalıştırın.

8. Build ve release optimizasyonları

Uygulama boyutunun küçülmesi ve derlenmiş kod optimizasyonları performansı etkiler.

Adımlar

- Kod minimizasyonu ve tree shaking: ProGuard/R8 (Android) ve Swift compiler optimizations (iOS). - Gereksiz kaynakları temizleyin; multi-ABI yerine hedef cihazlara özel paketleme yapın. - CI/CD boru hattında performans testleri ekleyin: startup testleri, memory leak regression testleri.

9. Prod ortam izleme ve performans bütçeleri

Üretimdeki gerçek kullanıcı verilerini toplayın ve performans bütçeleri belirleyin (ör. cold start < 2s, frame drops < 0.5%). Sürekli izleme ile regresyonları yakalayın.

Araçlar

Firebase Performance, Android Vitals, Xcode Organizer, Sentry, New Relic ve Datadog gibi araçlar sayesinde crash, ANR/Watchdog ve performans metriklerini takip edebilirsiniz.

10. Hızlı kontrol listesi (Checklist)

- Profil yapıldı mı? (CPU, memory, network) - Main thread blokajları giderildi mi? - Startup süreleri optimize edildi mi? - View hiyerarşisi ve overdraw kontrol edildi mi? - Resimler ve ağ trafiği optimize edildi mi? - Background görevler ve pil etkisi yönetildi mi? - Prod izleme ve uyarılar aktif mi? - CI'da performans testleri var mı?

Sonuç olarak performans iyileştirmek tek seferlik bir iş değil; ölçüm, önceliklendirme, uygulama ve izleme döngüsüdür. Yukarıdaki taktikleri proje gereksinimlerinize göre önceliklendirin, küçük kazanımları sık sık dağıtın ve her değişiklik sonrası kullanıcı odaklı metriklerle etkisini doğrulayın. Sen Ekolsoft olarak performans odaklı mimarilerde danışmanlık ve uygulama destekleri sunuyoruz — ihtiyaç olursa teknik denetim raporu paylaşabiliriz.

Share this post