SlideShare a Scribd company logo
1 of 36
Hitre aplikacije Jernej Virag 1 Jernej Virag | @jernejv | http://www.virag.si
Velike stvari Majhne stvari Garbagecollector Hitre aplikacije 2
3 MERI, MERI, MERI Hitre aplikacije
VELIKE STVARI Makro-optimizacije Hitre aplikacije 4
Velike stvari 5 POSTAVITEV Tako hitri kot je XML v katerem jih pišemo učinkovit Hitre aplikacije
Velike stvari 6 POSTAVITEV Drevo vseh vidnih elementov Hitre aplikacije
Velike stvari 7 POSTAVITEV Hitre aplikacije ! Ponovno merjenje!
Velike stvari 8 LinearLayout Preprosto programiranje, a s ceno Hitre aplikacije
Velike stvari 9 RelativeLayout Kompleksno programiranje za preprosto drevo Hitre aplikacije
Velike stvari 10 Hitre aplikacije
Velike stvari 11 Ponovna uporaba pogledov Hitre aplikacije ListView in vsi ostali prijazno ponudijo elemente za ponovno uporabopublic View getView(int position,  View convertView, ViewGroupparent)
Velike stvari 12 HiearchyViewer Prijatelj vsakega Android razvijalca Hitre aplikacije
Velike stvari 13 Novi objekti Sprožijo GC – čimmanjtemboljše Hitre aplikacije
Velike stvari 14 Skrite alokacije String StringBuilder Hitre aplikacije
Velike stvari 15 Skrite alokacije Enum.values(), Arrays.sort(), for z iteratorji Hitre aplikacije
Velike stvari 16 DDMS Še en najboljši prijatelj razvijalca Hitre aplikacije
Velike stvari 17 Shranjevanje Baze so kul, SD kartica ne tako zelo Hitre aplikacije
MAJHNE STVARI Mikro-optimizacije Hitre aplikacije 18
Majhne stvari 19 static 15% - 20% hitrejši klici metod Hitre aplikacije
Majhne stvari 20 staticfinal Nobenih dodatnih klicev Hitre aplikacije
Majhne stvari 21 setterji/getterji so zlobni Direkten dostop 3x hitrejši kot s preprostim getterjem, 7x hitrejši če imamo JIT Hitre aplikacije
Majhne stvari 22 for (objekt : zbirka) Prepreči ponovno računanje velikosti zbirke pri vsaki iteraciji…					… za ceno alokacije iteratorja Hitre aplikacije
Majhne stvari 23 Enumeracije so zlobne Dostop do staticfinal konstant neprimerno hitrejši Hitre aplikacije
Majhne stvari 24 Plavajoča vejica je zlobna Tudi na sistemih z FPU je izvajanje operacij s plavajočo vejico neprimerno počasnejše Hitre aplikacije
Majhne stvari 25 Nativne metode Hitro izvajanje z zeloooooooopočasnimi klici Hitre aplikacije
GARBAGE COLLECTOR Naš najboljši prijatelj… … dokler nas ne brcne med noge Hitre aplikacije 26
Garbagecollector 27 Prijatelj… Čisti našo svinjarijo Hitre aplikacije
Garbagecollector 28 … a z napako Nas med čiščenjem vrže iz stanovanja Hitre aplikacije
Garbagecollector 29 Hitre aplikacije
Garbagecollector 30 Hitre aplikacije
Garbagecollector 31 Zloben? GC freed 16210 objects / 671800 bytes in 243ms Hitre aplikacije
Garbagecollector 32 Še huje! Nedeterminističen Hitre aplikacije
Garbagecollector 33 Čimmanj alokacij GC se bo poganjal redkeje Hitre aplikacije
Garbagecollector 34 Prisilno pobiranje smeti Ob pravem trenutku seveda Hitre aplikacije
Garbagecollector 35 Concurrentcollector Princ na belem konju? – 2.3 Hitre aplikacije GC_CONCURRENT freed 1962K, 44% free 6180K/10951K, external3744K/4653K, paused4ms+6ms
? Jernej Virag@jernejvhttp://www.virag.si Hitre aplikacije 36

Hitre aplikacije