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:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.