En önemli performans konularından biri de uygulamamızın kötü bir network connection'dan iyi olana geçerken ya da tam tersi durumda nasıl davranacağıdır. Request; cihazımından local bir baz istasyonuna ulaşmak için yapılır ki o da service provider'ın serverına route eder. Sonrasında o da bu provider için local bir data proxy'ye gidebilir. İnternete gitmeden ve ana data serverına... Continue Reading →
Hierarchy Viewer : How to gain insight!
Android Uygulama Performasını anlatmaya başladığımda linkteki yazımda kullanılabilecek toolları ve nasıl kullanabileceğimizi anlatmıştım. Biraz daha derine inip, elde ettiğimiz veriyi nasıl kullanacağımızı anlatmanın zamanı geldi. Github'da sample bir proje hazırladım. İndirip hatalı ve doğru olan kodları inceleyebilirsiniz. Mesela aşağıdaki gibi bir ekran yaratmak istediğimizi düşünelim. Bu kadar basit bir arayüzde önemli olan recylerview'in row'larında kullandığımız... Continue Reading →
Android: Nasıl Dinamik ve Unique Id Generate Ederiz?
Başınıza gelmemesi neredeyse imkansız bir sorun için birkaç küçük not! Herşeyin xml'lerde olduğu bir dünya kesinlikle daha kolay olurdu. View'ler sayfaya daha hızlı yüklenirdi, tüm attribute'ler xml'den verilirdi. Ama bazen view'lerimizi koşullara bağlı olarak dinamik olarak oluşturmamız gerekir. Peki bu durumda ayırt edici olmasını sağlayan id'lerimizi unique olarak nasıl generate ederiz? Bir yol tag kullanmak... Continue Reading →
Optimizing Apps for Better Performance – DevFest15
DevFest İstanbul 2015'te yaptığım sunumun slaytları: GDG Team'e Teşekkürler 😉
Android Uygulama Performansı – Step 4: Battery
Uygulama performansı serisine Battery'yle devam ediyorum. Battery aslında bu seride anlatacağım son adım. Çünkü bu serinin genel olarak kapsamı android performans iyileştirmesi hakkında ve performans analizi yapabileceğimiz tool'lar hakkında genel bir bilgi sahibi olmak olarak başlanmıştı. Mobil cihazınızın donanımı, görevleri çalıştırırken ya da kedinizin fotoğraflarını yüklerken, bu işleri gerçekleştirebilmek için bataryadan enerji çeker. Tabi buna bağlı olarak da... Continue Reading →
Android Uygulama Performansı – Step 3: Memory
Seriye Memory'le devam ediyorum. Rendering ve Compute yazılarına ilgili linklerden erişebilirsiniz. Hardware'e yakın olarak bilinen programlama dillerinde, C, C++, Fortran gibi, genellikle yazılımcılar bellek yönetimini kendileri yaparlar. Allocating memory ve iş tamamlandığında de-allocating tamamen yazılımcılara aittir. Böyle bir durumda, tüm bellek yönetimi size kalmış olduğu için ne kadar doğru kullanıldığı da aslında tamamen yazılımcının bilgisi... Continue Reading →
Android Uygulama Performansı – Step 2: Compute
Android uygulama performansı ile ilgili seriye Compute'le devam ediyorum. Bir önceki konu olan renderingle ilgili anlatımıma ilgili linkten erişebilirsiniz. Precompiler'dan compiler'a, optimizer'a, kodun kendisine kadar birçok şey cihaz üzerinde çalışmaktadır. Bu yüzden de compute performansı çok önemlidir. Ki bu da aslında algoritmaların, computing process'lerinin nasıl işletildiğiyle ilgilidir. (Compiler'ın kodu generate etmesi ve virtual machine'in hardware... Continue Reading →
Android Uygulama Performansı – Step 1: Rendering
Android uygulaması geliştiren herkes için uygulama performansı hep bir sorun olmuştur. Çünkü aslında uygulama yavaş dendiğinde, başlangıç için yapılması gereken ilk önce profiling tool'ları kullanıp veri toplamak ve sonrasında topladığımız veriyi inceleyerek sorunu tespit edip düzeltmektir. Süreç biraz can sıkıcı olmakla beraber bazen de görselliğimizi istediğimiz seviyeye çekmeye çalışırken, bazı küçük noktaları kaçırıp aslında çok... Continue Reading →
DroidConUK 2015
Daha önce Droidcon serisini duymayanlar için Droidcon'lar Android platformunu destelemek, şirketler ve geliştiriciler arasında global bir network oluşturmak için Avrupa'da düzenlenen bir konferans serisidir. Temel olarak; mobil cihazlardan TV'ye, arabalardan oyuna, bir çok konu üzerine Android ekosistemin farklı bölümlerinden ileri seviye konuşmaları içermektedir. Droidconlar; Amsterdam, Bangalore, Berlin, Brussels, Bucharest, Londra, Madrid, Moscow, Murcia, Paris, Stockholm, Tel Aviv, Tunis... Continue Reading →
ViewPager’da Fragment Kullanımı
Not: Bu yazı ViewPager içerisinde fragment kullanımı ve TabLayout'la ilişkilendirmek üzerinedir. *You can reach same content from here in English. ViewPager kullanırken üst kısımda verilen başlık bilgisiyle alt kısımda yer alan content'i ilişkilendirmek için farklı yöntemler kullanılabilir. Actionbar, TabLayout, PagerTabStrip, PagerTitleStrip kullanımı seçenekler arasında yer alacaktır. PagerTabStrip ve PagerTitleStrip için Android 23.0.0'da raporlanan bir bug bulunmaktadır. İlk... Continue Reading →