Hitre aplikacije

865 views

Published on

Kako pisati hitre aplikacije v Androidu

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
865
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Hitre aplikacije

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

×