Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

What's new in Android Lollipop

1.730 visualizaciones

Publicado el

Presentation About What’s New in Android Lollipop by Chet Haase & Romain Guy

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

What's new in Android Lollipop

  1. 1. What’s New in Android
  2. 2. +ChetHaase @chethaase +RomainGuy @romainguy
  3. 3. Android 5.0 Lollipop
  4. 4. Nexus SGalaxy Nexus Nexus 4 Nexus 7Nexus 5 Nexus 7 Nexus 10
  5. 5. By the Numbers Google Play 1 million apps available (July 2013) 50 billion apps downloaded (May 2013) Devices 1.5 million activations daily (March 2013) 1 billion users (June 2014)
  6. 6. Active Android Users 0 1 2008 2014 (Billions)
  7. 7. Focus on the User = Focus on Quality
  8. 8. Project Butter Svelte Volta
  9. 9. Project Butter Svelte Volta
  10. 10. Project Butter Svelte Volta
  11. 11. Lollipop
  12. 12. Android Design Material Design Tangible surfaces Bold, beautiful aesthetic Meaningful motion Adaptive design
  13. 13. Material Design: Learn More About It! • Material Design spec · • Articles, DevBytes, DesignBytes, SDK Reference ·
  14. 14. UI Toolkit New theme New widgets New APIs
  15. 15. Material theme theme=“Android.Material” colors icons touch feedback ripples activity transitions enabled
  16. 16. Theme colors Grayscale assets tinted by theme colors colorPrimaryDark colorAccent colorControlNormal colorControlActivated colorControlHighlight colorButtonNormal
  17. 17. Dynamic colors Palette Derives dominant colors from images Available in v7 support library Tinting drawables Drawable.setTint() Drawable.setTintMode()
  18. 18. Material Widgets RecyclerView aka, ListView2 CardView Both in support library! v7
  19. 19. Material APIs: Graphics Realtime soft shadows View.setElevation() View.setTranslationZ() Shaped views and shadows Outline View.setOutlineProvider() View.setClipToOutline()
  20. 20. Material APIs: Animations Activity Transitions With shared elements Also, Fragment Transitions! Animation curves Time and space Animated Reveal
  21. 21. Material APIs: Iconography Touch feedback ripples RippleDrawable Vector icons VectorDrawable AnimatedVectorDrawable State animations StateListAnimator AnimatedStateListDrawable
  22. 22. VectorDrawable <vector xmlns:android=""
 android:viewportWidth="480" >
 android:translateY="240.0" >
 C6,-3.718399048,4.643005371-6,2.100006104-6" />
  23. 23. AnimatedVectorDrawable AVD VD Object AnimatorObject Animator
  24. 24. Nested Scrolling Delegate to scrollable parent containers when appropriate ViewParent onStartNestedScroll() onNestedScroll()/onNestedPreScroll() onNestedFling() / onNestedPreFling()
  25. 25. Render Thread UI Thread: Create DisplayList Render Thread: Process DisplayList … and animations
  26. 26. Support Lib CardView RecyclerView Palette RoundedBitmapDrawable ViewPropertyAnimatorCompat NotificationCompat
  27. 27. WebView updates Chromium M37 security, stability, bug fixes New support for open standards WebAudio WebGL WebRTC Updates from Play Store
  28. 28. System UI
  29. 29. Document- Centric Apps To create a new document: Intent.FLAG_ACTIVITY_NEW_DOCUMENT <activity documentLaunchMode=”always”> Manage tasks via ActivityManager.getAppTasks()
  30. 30. Material theme background: card-shaped, shadow-casting foreground: dark text and actions all icons now treated as silhouettes Accent color Notification.Builder.setColor() Everything else you know and love Expanded views, action buttons, custom views Small icon badging 2014: Notifications in L
  31. 31. Heads-up notifications
  32. 32. Heads-up notifications Reserved for things the user needs to deal with High priority Involving people Makes noise fullScreenIntent Designed to be easy to act on and easy to ignore!
  33. 33. CLICK!
  34. 34. PUBLIC (anyone can read) AUTHENTICATION (the lockscreen) SECRET (only you know it’s there) PRIVATE (only you can read) VISIBILITY_PUBLIC • notifications that are safe to show outside the lockscreen, out in public, to anyone VISIBILITY_PRIVATE (classic Android notifications) • only icons visible without authentication VISIBILITY_SECRET • invisible until you unlock SPHERES OF VISIBILITY publicVersion
  35. 35. Media & Graphics
  36. 36. OpenGL OpenGL ES 3.1 NDK and SDK bindings Backward-compatible with OpenGL ES 2.0 and 3.0 Compute shaders & separate shaders Shading language improvements Manifest <uses-feature android:glEsVersion=“0x00030001”/> Android Extension Pack Superset of OpenGL ES 3.1 Tessellation, geometry shaders, shader storage buffers, images, and atomics, etc.
  37. 37. Camera and Audio New android.hardware.camera2 APIs Fine-grained capture and image processing RAW capture (DNG) Programmatically access available devices New audio buffering and encoding capabilities Lower-latency audio input
  38. 38. Other Media Enhancements MediaSession Respond to transport controls MediaBrowser Browse media content exposed by apps MediaProjection Screen and audio capture PdfRenderer Render PDF as a bitmap
  39. 39. System
  40. 40. ART Replaces Dalvik Available in KitKat Now enabled by default Faster! Better! Newer! Cooler! Ahead-of-Time Compilation Smaller GC pauses Dedicated space for large objects (bitmaps) Moving collector (background apps) Android Runtime
  41. 41. Power: Project Volta Battery stats
 $ adb shell dumpsys batterystats Global and per-UID statistics options: --help Battery Historian ( like systrace for power events Measuring your app’s battery efficiency
  42. 42. Power: Battery Historian # turn on full wakelock reporting $ adb shell dumpsys batterystats --enable full-history # clear out old stats $ adb shell dumpsys batterystats --reset # now run your app, collect data $ adb bugreport > bugreport.txt # visualize! $ bugreport.txt > out.html Example
  43. 43. Power: JobScheduler You want to do some work when: data is cheap/fast device is plugged in or idle Possible to do this manually … but now there’s JobScheduler! intelligent background processing
  44. 44. Power: JobScheduler JobInfo uploadTask = new JobInfo.Builder(jobId, componentName)
 JobScheduler jobScheduler = (JobScheduler)
  45. 45. Storage: DocumentTrees If you’re using the new Storage Access Framework (API 19) You can now ask for a whole directory! @see Intent.ACTION_OPEN_DOCUMENT_TREE Then explore the directory and its contents @see DocumentsContract.buildChildDocumentsUriUsingTree(), .buildDocumentUriUsingTree() New tools for working with directories
  46. 46. Storage: getExternalMediaDirs • Context.getExternalMediaDirs() · File[] array of package-specific places for media • like Context.getExternalFilesDirs() · plus automatic MediaStore support A clean, well-lighted place for media
  47. 47. Multi-Networking When you need a particular kind of network connection SMS unmetered specific carrier feature ConnectivityManager.requestNetwork(NetworkRequest, NetworkCallback)
  48. 48. Bluetooth LE Android 4.3: Bluetooth Low Energy (BLE) New in Lollipop: BLE peripheral device support Your app can can provide services and scan for services android.bluetooth.le
 " BluetoothLeScanner
 " BluetoothLeAdvertiser
  49. 49. Enterprise & Education Managed profile (Data segregation) Profile vs. Device owner DevicePolicyManager Screen Pinning
  50. 50. The Lollipop Developer SDK Download the SDK on And get developing!