Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Lick my Lollipop

597 Aufrufe

Veröffentlicht am

Željko je razvijalec pri podjetju INFINUM, kjer sodeluje pri razvoju različnih Android aplikacij. Na predavanju je detaljno predstavil kaj nam novega prinaša Android 5.0 kot so Material design, ART runtime, MultiDexSupport in drugo ter odgovoril na vprašanje, zakaj bo Android tudi v prihodnosti najbolj zastopljen operacijski sistem na področju mobilnih tehnologij.

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

Lick my Lollipop

  1. 1. Lick my Lollipop #MoMoSlo
  2. 2. Željko Plesac Android developer at Infinum SI zeljko.plesac@infinum.co
  3. 3. What are the main drawbacks of Android OS?
  4. 4. • Static design • Battery drainage • Over heating • Lagging (it’s really slow after few months of usage) • Decentralized - it lacks central Android body to address the grievance of its users. • Fragmentation
  5. 5. Solution for all of our problems?
  6. 6. Say hello to Android 5.0/L/Lollipop!
  7. 7. What’s new in Android 5.0. Lollipop?
  8. 8. Material design
  9. 9. • brand new Android design theme/principles • main goals: 1. Material is the metaphor 2. Bold, graphic, intentional 3. Motion provides meaning
  10. 10. https://www.youtube.com/watch?v=Q8TXgCzxEnw
  11. 11. Interfaces should be “bold, graphic, intentional”
  12. 12. Logo
  13. 13. Surfaces and shadows Logo
  14. 14. Tiny details
  15. 15. One design to conquer them all
  16. 16. Enhanced notifications
  17. 17. New ways to control when and how you receive messages
  18. 18. High-priority notifications are presented to users for a short period of time with an expanded layout exposing possible actions
  19. 19. Priority mode for fewer disruptions
  20. 20. View and respond to messages directly from your lock screen
  21. 21. ART
  22. 22. • Android apps are deployed in Dalvik bytecode, which is portable, unlike native code. In order to be able to run the app on a device, the code has to be compiled to machine code. • older versions of Android use Dalvik VM • based on JIT (just in time) compilation • each time you run an app, the part of the code required for its execution is going to be translated (compiled) to machine code at that moment • it has a smaller memory footprint and uses less physical space on the device.
  23. 23. • Android 5.0 runs exclusively on the ART runtime, which offers ahead-of-time (AOT) compilation • The whole code of the app will be pre-compiled during install (once)
  24. 24. Why is this good?
  25. 25. • With no need for JIT compilation, the code should execute much faster • it doesn't hit the CPU as hard as just-in-time code compiling on Dalvik (also, results in less battery drain)
  26. 26. Any downsides?
  27. 27. • the generated machine code requires more space than the existing bytecode • the code is pre-compiled at install time, so the installation process takes a bit longer • larger memory footprint at execution time (fewer apps run concurrently)
  28. 28. Interested in statistics/benchmark?
  29. 29. • increased speed in CPU floating operations by approx. 20% • increased speed in RAM operations by approx. 10% • increased speed in storage operations by approx. 10% • CPU integer operations - slight advantage goes to Dalvik • Install times on my Nexus 4, for one of our larger projects, jumped from ~17 s to ~25 s. (tested on Kitkat 4.4.4, should be even faster now)
  30. 30. Project Volta
  31. 31. Android 5.0 emphasizes improvements in battery life: 1. Scheduling jobs 2. Developer tools for battery usage
  32. 32. 1. Scheduling jobs • Android 5.0 provides a new JobScheduler API that lets you optimize battery life by defining jobs for the system to run asynchronously (at a later time or under specified condition) • The app has non-user-facing work that you can defer. • The app has work you'd prefer to do when the unit is plugged in. • The app has a task that requires network access or a Wi-Fi connection. • The app has a number of tasks that you want to run as a batch on a regular schedule.
  33. 33. • You can schedule the task to run under specific conditions, such as: • Start when the device is charging • Start when the device is connected to an unmetered network • Start when the device is idle • Finish before a certain deadline or with a minimum delay
  34. 34. 2. Developer tools for battery usage • The new dumpsys batterystats command generates interesting statistical data about battery usage on a device, organized by unique user ID (UID): • History of battery related events • Global statistics for the device • Approximate power use per UID and system component • Per-app mobile ms per packet • System UID aggregated statistics • App UID aggregated statistics
  35. 35. WebView updates
  36. 36. • since the release of Android 4.4 KitKat, WebView has been based on Chromium (it has the same rendering and Javascript engine as Chrome for Android) • WebView is now unbundled from the system and will be regularly updated through Google Play. • every mobile device with Android 5 or later should have not only the same but the latest browsing engine in the WebView
  37. 37. Multiple network connections
  38. 38. • Android 5.0 provides new multi-networking APIs that let your app dynamically scan for available networks with specific capabilities, and establish a connection to them • useful when your app requires a specialized network, such as an SUPL, MMS, or carrier-billing network, or if you want to send data using a particular type of transport protocol.
  39. 39. New Camera and Audio API
  40. 40. • Android 5.0 introduces the new android.hardware.camera2 API to facilitate fine-grain photo capture and image processing • Use the new notification and media APIs to ensure that the system UI knows about your media playback and can extract and show album art. • Controlling media playback across a UI and a service is now a lot easier • ability for apps to browse the media content library of another app
  41. 41. Security
  42. 42. • encryption is automatically turned on to help protect data on lost or stolen devices • Android Smart Lock - secure your phone or tablet by pairing it with a trusted device like your wearable or even your car
  43. 43. Cross device synchronization
  44. 44. • ability to pair up different devices (tablet + Android wear + smartphone + Android TV) in one system • applications are optimised for every device • songs, photos, apps, and even recent searches from one of your Android devices can be immediately enjoyed across all of your Android devices
  45. 45. Multi dex support
  46. 46. • Dalvik VM has one major limitation which we didn’t discuss yet: APK HAS UPPER LIMIT OF 65,536 METHODS!
  47. 47. • ART natively supports loading multiple .dex files from application APK files. • ART performs pre-compilation at application install time which scans for classes(..N).dex files and compiles them into a single .oat file for execution by the Android device • Android build tools construct a primary dex (classes.dex) and supporting (classes2.dex, classes3.dex) as needed. The build system will then package them into an APK file for distribution.
  48. 48. and much more…
  49. 49. • BLE Peripheral Mode - Android devices can now function in Bluetooth Low Energy (BLE) peripheral mod • Managed provisioning and unified view of apps • OpenGL ES 3.1 and Android Extension Pack • 64-bit support • Print preview and page range support • better integration with OK Google • Concurrent documents in Overview • Android Work
  50. 50. Bonus :)
  51. 51. • Android Studio 1.0 RC 1 has been released to Canary channel • Material design has already been integrated to Android Support Library • Google Play Services Granular Dependency Management - you’ll be able to depend only on the parts of Google Play services that you use by utilizing separate libraries for each API.
  52. 52. Fun times are coming!
  53. 53. Thanks!
  54. 54. zeljko.plesac@infinum.co skype: zeljko.plesac twitter: @ZeljkoPlesac
  55. 55. Fin.