Android Performance: Optimizing Network Request Frequencies


Screen Shot 2016-02-21 at 20.20.02

Uygulamanın sosyal medya haberlerini, hava raporlarını, social feedbackleri verebilmesi için, up to date kalması gereklidir. Ancak çok sık sync olmak da performans için en kötü fikirlerden biridir. Peki o zaman nasıl handle edilmeli?

Oversync bataryayı öldürür. Batarya sadece çipi başlatmak için değil sınrasında 2060 sn ek olarak awake tutmak için de tüketilir.

Çok fazla sync olmak kötü diyoruz ancak şöyle de bir gerçek variyi kullanıcı deneyimini sunabilmek için ki en uygulama güncel datayı gösterebilmeli. Bu sebeple sync olmayı tamamen kesemeyiz. Yapmak zorunda da değiliz. Ancak daha az request yapıp kullanıcıya benzer bir deneyim sunmak da mümkün. Burada önemli olan da şu an yapılması gerekenle bekleyebilir olanı ayırmaktan geçmektedir.

Screen Shot 2016-02-25 at 21.52.25

Sürekli server’a gidip yeni data var mı diye sorgulamaktansa, başka servisler kullanılabilir. Mesela Google Cloud Messaging gibi. Yeni content geldiğinde server’a sinyal gönderir. Böylece hem batarya tüketimini hem de server responselarının sayısını düşürür.

Sürekli sync olunması gereken durumlar için ise kendimiz bir logic kurabiliriz. Mesela requesti yaptık, yeni data yoktu. Bir sonraki sorgu zamanını X2 arttırarak ilerleyebiliriz.

Google Play Services API network oriented taskların düzenlenmesini sağlar. Batching’i de kendi handle eder. Network kullanımıyla ilgili detaylı bilgi almak istenirse de Network Traffic Tool kullanılabilir.

Referans:

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

w

Connecting to %s