📱 Mobil & Teknoloji 22 Nisan 2026 · 7 dk okuma

Mobil Uygulama Performansını Artırma İpuçları

Mobil uygulamanız yavaş mı açılıyor? Açılış süresi, bellek, ağ istekleri ve pil tüketimini iyileştiren pratik, uygulanabilir ipuçları.

K

Yazan: Keramettin Nas

Yayın: 22 Nisan 2026 · Güncellenme: 12 Haziran 2026

📌 Özetle

  • Tahminle değil ölçümle ilerleyin: bir özelliği optimize etmeden önce süresini not edin, değişikliği yapın, tekrar ölçün ve somut bir hedef sayıya bağlayın.
  • Açılışta her şeyi yüklemeyin; ilk ekranda görünmeyen modül, ağır kütüphane ve veri tabanı işlerini erteleyip büyük başlatmaları arka plana taşıyın.
  • Akıcılık için ana iş parçacığını serbest tutun: 60 kareye ulaşmak her karenin yaklaşık 16 milisaniyede hazırlanmasını gerektirir, ağır işler arka planda olmalı.
  • Görselleri gösterilecek boyutta yükleyip önbelleğe alın, ağ isteklerini azaltıp birleştirin; dinleyici ve abonelikleri temizlemek en yaygın bellek sızıntısını önler.

Bir uygulamanın ne kadar iyi olduğunu kullanıcılar çoğu zaman özellik listesinden değil, hızından anlar. Açılırken takılan, kaydırırken titreyen ya da telefonun pilini hızla bitiren bir uygulama, ne kadar zengin olursa olsun kısa sürede silinir. İyi haber şu: performans sorunlarının büyük çoğunluğu sihirli bir çözümle değil, küçük ve tutarlı iyileştirmelerle aşılır. Bu yazıda hem yeni geliştiriciye hem de mevcut uygulamasını hızlandırmak isteyene yönelik, gerçekten işe yarayan ipuçlarını topladım.

Önce ölçün, sonra optimize edin

Performans iyileştirmesinde en sık yapılan hata, tahminle hareket etmektir. Hangi ekranın yavaş olduğunu hissedebilirsiniz ama nedenini ancak ölçerek görürsünüz. Bir şey hızlı görünmüyor diye saatlerce yanlış yeri optimize etmek çok yaygındır.

Çoğu geliştirme ortamı yerleşik profilleme araçları sunar. Bunlarla şu üç şeyi izleyin:

  • CPU kullanımı: Hangi fonksiyon ekranın donmasına yol açıyor?
  • Bellek: Zamanla artan ve geri düşmeyen bir kullanım var mı? Bu genelde sızıntı işaretidir.
  • Ağ: Kaç istek atılıyor, ne kadar veri iniyor, hangi istek bekletiyor?

Pratik bir yaklaşım: bir özelliği optimize etmeden önce mevcut süresini not edin, değişikliği yapın, tekrar ölçün. Böylece gerçekten ilerleme kaydedip kaydetmediğinizi bilirsiniz. Diyelim ki bir liste ekranı ilk açılışta 800 milisaniyede geliyor; hedefinizi 300 milisaniye gibi somut bir sayıya bağlarsanız, ne zaman duracağınızı da bilirsiniz.

Açılış süresini kısaltın

Kullanıcının uygulamayla ilk teması açılış ekranıdır ve ilk izlenim burada oluşur. Soğuk açılış dakikalar değil milisaniyeler meselesidir; birkaç yüz milisaniyelik gecikme bile fark edilir.

Başlangıçta sadece gerekeni yükleyin

Uygulama açılırken her şeyi hazırlamaya çalışmak en büyük yavaşlatıcı nedenlerden biridir. İlk ekranda görünmeyen modülleri, ağır kütüphaneleri ve veri tabanı işlemlerini ertelemek çoğu zaman tek başına belirgin bir hızlanma sağlar.

  1. Açılışta hangi işlerin yapıldığını listeleyin.
  2. Her birinin ilk ekran için gerçekten gerekli olup olmadığını sorgulayın.
  3. Gerekli olmayanları ekran göründükten sonraya, hatta kullanıcı o özelliğe dokunduğu ana erteleyin.
  4. Büyük başlatma işlerini arka plana taşıyın ki ana iş parçacığı serbest kalsın.

Kullanıcıya hemen bir iskelet arayüz (içerik gelene kadar gösterilen gri kutucuklar) sunmak da algılanan hızı ciddi şekilde artırır. Veri henüz gelmemiş olsa bile ekranın canlı durması bekleme hissini azaltır.

Arayüzü akıcı tutun

Akıcı bir arayüz, saniyede 60 kare hedefiyle çalışır. Bu da her karenin yaklaşık 16 milisaniye içinde hazırlanması gerektiği anlamına gelir. Bu süreyi aşan her iş, gözle görülür takılmaya yol açar.

  • Ana iş parçacığını meşgul etmeyin: Resim işleme, dosya okuma, JSON çözümleme gibi ağır işleri arka plana alın. Arayüz çizimi dışındaki her şey mümkün olduğunca başka bir parçacıkta olmalı.
  • Uzun listeleri geri dönüştürün: Binlerce öğeyi bir anda oluşturmak yerine yalnızca ekranda görünenleri çizip kaydırma sırasında yeniden kullanın. Modern liste bileşenleri bunu zaten destekler.
  • Gereksiz yeniden çizimleri azaltın: Değişmeyen bir bileşen tekrar tekrar çizilmemeli. Durum yönetimini, yalnızca ilgili parça değiştiğinde güncelleme yapacak şekilde tasarlayın.
  • Gövde hiyerarşisini sadeleştirin: Çok iç içe geçmiş arayüz katmanları hesaplama maliyetini artırır. Daha düz bir yapı hem okunabilir hem hızlı olur.

Görselleri ve medyayı optimize edin

Görseller çoğu uygulamada hem belleğin hem ağ trafiğinin en büyük tüketicisidir. Burada yapılacak iyileştirmeler genelde en hızlı geri dönen iyileştirmelerdir.

  • Görseli ekranda görüneceğinden daha büyük yüklemeyin. 200 piksel genişliğindeki bir alana 2000 piksellik bir görsel yüklemek belleği boş yere doldurur.
  • Modern ve sıkıştırılmış görsel formatlarını tercih edin; aynı kaliteyi daha küçük boyutta verirler.
  • Bir kez indirilen görseli önbellekte tutun ki her açılışta tekrar inmesin.
  • Listelerde görselleri tembel yükleyin: yalnızca ekrana yaklaşanları indirin.
Küçük bir kural: kullanıcıya gösterdiğiniz her görsel, gösterileceği boyuta göre hazırlanmış olmalı. Geri kalan her şey israftır.

Ağ isteklerini akıllı yönetin

Mobil cihazlar her zaman hızlı ve kararlı bağlantıda olmaz. Metroda, asansörde ya da zayıf sinyalde çalışan bir uygulama yazmak, performans tasarımının ayrılmaz parçasıdır.

Daha az ve daha küçük istek

Her ağ isteğinin bir kurulum maliyeti vardır. On adet küçük istek atmak yerine, mümkünse veriyi tek seferde almak genelde daha hızlıdır. Sunucudan da yalnızca ekranda kullanacağınız alanları isteyin; tüm veriyi çekip yarısını atmak hem bant genişliği hem pil israfıdır.

Önbellek ve çevrimdışı davranış

  • Sık değişmeyen verileri yerelde saklayın; uygulama açılır açılmaz eldeki veriyi gösterin, güncellemeyi arka planda yapın.
  • İstek başarısız olursa kullanıcıya boş ekran değil, anlamlı bir mesaj ve tekrar deneme seçeneği sunun.
  • Aynı veriyi kısa aralıklarla tekrar tekrar istemekten kaçının; gereksiz çağrılar hem yavaşlatır hem veri tüketir.

Finansal verilerle çalışan uygulamalarda bu özellikle önemli. Örneğin bir birikim ya da bütçe takibi uygulamasında, kullanıcı uygulamayı her açtığında güncel bakiyenin hemen görünmesi beklenir; bunu sağlamanın yolu, son bilinen veriyi anında gösterip senkronizasyonu sessizce arkada yürütmektir.

Bellek ve pil tüketimini düşük tutun

Hızlı ama telefonu ısıtan, pili eriten bir uygulama da kullanıcının gözünden düşer. Bellek sızıntıları ise zamanla uygulamayı yavaşlatır ve sonunda çökmesine yol açar.

  • Dinleyicileri ve abonelikleri temizleyin: Ekran kapandığında başlattığınız olay dinleyicileri, zamanlayıcılar ve abonelikler de durdurulmalı. Unutulan dinleyiciler en yaygın sızıntı kaynağıdır.
  • Arka plan işlerini sınırlayın: Konum, sensör ve sürekli senkronizasyon gibi işler pili hızla tüketir. Bunları yalnızca gerektiğinde açın ve işi bitince kapatın.
  • Toplu işlem yapın: Ağ ve disk işlemlerini tek tek değil gruplar halinde yapmak cihazın uyku durumundan daha az çıkmasını sağlar, bu da pile yarar.
  • Büyük nesneleri serbest bırakın: Artık ihtiyaç duyulmayan büyük veri yapılarını ve görselleri elde tutmayın.

Sürekli takip edin

Performans bir kez yapılıp bitirilen bir iş değil, sürekli bakım isteyen bir konudur. Her yeni özellik, eklenen her kütüphane uygulamayı biraz daha ağırlaştırabilir. Bu yüzden gerçek cihazlarda, özellikle de eski ve düşük donanımlı telefonlarda düzenli test yapmak önemlidir; geliştiricinin elindeki güçlü cihaz çoğu kullanıcıyı temsil etmez.

  • Uygulama boyutunu takip edin; gereksiz büyüyen paket hem indirmeyi hem açılışı yavaşlatır.
  • Sürüm öncesi temel performans ölçümlerini tekrar yapın ve önceki sürümle karşılaştırın.
  • Mümkünse gerçek kullanıcılardan çökme ve yavaşlama verisi toplayın ki sorunları sahada görmeden çözebilesiniz.

Özet

Mobil performans, tek bir büyük numaraya değil bir dizi küçük ve disiplinli karara dayanır. Önce ölçün, açılış yükünü hafifletin, ana iş parçacığını serbest tutun, görselleri ve ağ isteklerini akıllı yönetin, bellek ile pili gözetin ve tüm bunları sürekli takip edin. Bu adımları alışkanlık haline getirdiğinizde, kullanıcılar belki neyin değiştiğini tam olarak söyleyemez ama uygulamanın sadece iyi hissettirdiğini fark eder; ki performans iyileştirmesinin gerçek amacı da budur.

Sık yapılan hataPratik çözüm
Açılışta her şeyi birden yüklemekİlk ekranda gerekmeyeni ertele, ağır işi arka plana al
Ağır işleri ana iş parçacığında yapmakResim işleme, dosya okuma, JSON çözmeyi başka parçacığa taşı
Uzun listeyi tek seferde oluşturmakSadece görüneni çiz, kaydırırken bileşenleri geri dönüştür
Görseli olduğundan büyük yüklemekGösterilecek boyutta yükle, önbelleğe al, listede tembel yükle
Dinleyici ve abonelikleri temizlememekEkran kapanınca dinleyici, zamanlayıcı ve abonelikleri durdur
Sık karşılaşılan performans hatası ve pratik çözümü

Sıkça Sorulan Sorular

Uygulamam yavaş ama nedenini bulamıyorum, nereden başlamalıyım? +

Hisle değil ölçümle başlayın, çünkü en sık yapılan hata yanlış yeri optimize etmektir. Çoğu geliştirme ortamının yerleşik profilleme araçlarıyla CPU kullanımını, zamanla artıp geri düşmeyen bellek kullanımını ve ağ isteklerini izleyin. Hangi fonksiyonun donmaya yol açtığını, bellekte sızıntı olup olmadığını ve kaç istek atıldığını görmeden hangi düzeltmenin işe yaradığını bilemezsiniz.

Açılış süresini kısaltmanın en etkili yolu nedir? +

Açılışta yalnızca ilk ekran için gerçekten gerekeni yüklemek. Görünmeyen modülleri, ağır kütüphaneleri ve veri tabanı işlerini ekran göründükten sonraya, hatta kullanıcı o özelliğe dokunana kadar erteleyin; büyük başlatma işlerini arka plana taşıyın ki ana iş parçacığı serbest kalsın. Ayrıca iskelet arayüz (içerik gelene kadar gri kutucuklar) göstermek algılanan hızı belirgin artırır.

Zayıf veya kesintili bağlantıda uygulamayı nasıl kullanılabilir tutarım? +

Sık değişmeyen veriyi yerelde saklayıp uygulama açılır açılmaz eldeki veriyi gösterin, güncellemeyi arka planda yapın. İstek başarısız olursa boş ekran değil, anlamlı bir mesaj ve tekrar deneme seçeneği sunun. Ağ isteklerini azaltıp birleştirin ve sunucudan yalnızca ekranda kullanacağınız alanları isteyin; tüm veriyi çekip yarısını atmak hem bant genişliği hem pil israfıdır.

#mobil #performans #uygulama geliştirme #optimizasyon
K

Yazar

Keramettin Nas

Türkiye merkezli bağımsız iOS & Android uygulama geliştiricisi. 2021'den bu yana kişisel finans ve üretkenlik uygulamaları geliştiriyorum (SmartFinans Ai, Birikim Takip, N Finans). Bu blogda, finans uygulamaları geliştirirken öğrendiklerimi sade rehberlere dönüştürüyorum.

İlgili yazılar