评论

收藏

[Android] Google I/O 2021 Android精华内容

移动开发 移动开发 发布于:2021-06-25 09:25 | 阅读数:324 | 评论:0

  Google I/O 2021结束了, 都有什么精彩内容呢?
Android部分的Playlist附上: Android & Play at Google I/O 2021
Developer Keynote (Google I/O '21)
  对于Android的部分来说, 主要是:
Android 12

  • user safety.
  • performance; improved app startup; customizable launch animations.
  • user experience; widgets.
Create beautiful apps, easier
  现代化的Android开发.

  • Android Studio的升级.
  • Kotlin: Kotlin Symbol Processing.
  • Jetpack: 各种libraries和Compose.
Build across screens.

  • 各种屏幕.
  • Voice.
  • Watches: Health services.
The top 3 things to know in Modern Android Development | Android @ Google I/O'21
  Android开发的三个top topic:

  • Jetpack: 一系列的Jetpack libraries发布了新版.
DSC0000.jpg


  • Tooling: Android Studio的升级, 有了WorkManager Inspector, UI的Inspector支持了View和Compose.
  • Kotlin.
DSC0001.jpg

What's new in Android | Keynote
  Android 12 -> S.

  • @Deprecated -> deprecated.
  • Color.
  • Widgets.
  • Launch animations: 系统自带启动动画, 可以定制.
  • Notifications: 新的template style; Trampoline(?) 优化点开notification的那个短暂延迟.
  • Toasts: 带icon, 说明是哪个app弹的toasts; 控制个数.
  • Picture in Picture的改善.
  • ImageView有个setRenderEffect可以模糊照片了.
  • 可以用theme定制模糊.
DSC0002.jpg


  • list的弹力拉伸效果. (我自己起的名字, 其实人家叫stretch overscroll).
  • Graphics: AVIF. 可以过滤支持的media类型.
  • Privacy: 关于permission的一些改进; 剪贴板内容会有toast说明来源; foreground restrictions.
What’s new in Android development tools | Session
  Android Studio版本号设计.
DSC0003.jpg


  • Preview工具可以设置横屏, 定制尺寸, 显示blueprints, play animation. Compose的preview有交互模式.
  • Accessibility test framework scanner.
  • 适配多种屏幕: Layout validation.
  • 折叠屏, 手表.
  • 模拟器还可以模拟heart rate.
  • snapshots test.
  • WorkManager的tasks.
  • Migrate to Non-Transitive R Classes...
What’s new in Jetpack | Session
  解释了Jetpack的初衷和现状.
alpha和beta版本的意思.

  • Experimental Annotations -> Stable.
  • CameraX -> Stable.
  • AppSearch -> Alpha.
  • DataStore -> 用来取代SharedPreferences.
DSC0004.jpg


  • Security Crypto -> Stable.
  • Hilt -> Stable.
  • WorkManager -> Stable. (Android Studio也推出了新的WorkManager Inspector.)
  • Room -> Stable.
DSC0005.jpg


  • ConstraintLayout -> Stable. MotionLayout + Motion Editor.
  • Fragment -> Stable.
    (详见release notes: https://developer.android.com/jetpack/androidx/releases/fragment.)
    重建了FragmentManager; 新增了get result的callback; 废弃了一些API, 并且Fragment StrictMode可以检测项目中是否还在使用.
  • Navigation -> Alpha. 现在支持多个backstacks.
  • Google Shortcuts -> Alpha.
  • EmojiCompat -> Alpha. (AppCompat 1.4.0以后默认包含.)
  • Paging -> Stable.
  • Macrobenchmark -> Alpha. (app启动和滚动效率; local/CI.)
  • Compose integrations.
DSC0006.jpg

What's new in Jetpack Compose | Session
  为什么我们需要一个全新的UI Toolkit呢. -> 为了适应更加现代化的开发方式.
  faster & easier.
  Compose将数据转换成UI.
  Checkbox的例子:
DSC0007.jpg
UI完全由参数控制. -> single source of truth. 没有其他的状态需要sync.

  把参数和回调提到方法参数中去:
DSC0008.jpg


  • You completely describe your UI for a given state.
  • The framework updates your UI when the state changes.
  这里有个图, 推荐ViewModel暴露一个Screen状态, 集中管理, 然后下发到每个composable.
DSC0009.jpg

  这样也利于测试.
  Compose实现了material design, 提供了组件, 还有theming system.
  有一个owl app的实现解说.
  和传统view的interop.
DSC00010.jpg

State of Kotlin on Android | Session

  • Kotlin变得越来越流行, 不仅app, 还有server.
  • Kotlin Symbol Processing目前发布了alpha.
  • 编译器的升级.
  • 好多好多的ktx库.
  • protobuf的支持: https://developers.google.com/protocol-buffers/docs/kotlintutorial
  • coroutines的debugger -> coming soon. 可以在线程之间跳转, 查看信息.
What’s new in Android Gradle plugin | Session
  New APIs in the Android Gradle Plugin
Using Jetpack libraries in Compose | Session
  Jetpack Compose和Jetpack中其他库可以很好的结合使用.
DSC00011.jpg

Top 12 tips to get ready for Android 12 | Session
  Getting Ready for Android 12.

  • Developer Options -> App Compatibility Changes.
  • Foreground services were designed for multi-tasking and completing a user action. -> 从后台启动foreground services将被限制.
  • Expedited Jobs with WorkManager APIs.
  • User may turn off the mic and camera sensors using mic and camera toggles.
  • Apps that have not been used for an extended period will be hibernated. (permissions, storage, services)
  • Nearby device permission. Decouple Bluetooth scanning from Location.
  • MAC address restriction.
  • Safe component exporting. 有intent filter就必须显式声明exported.
  • Custom notifications deprecation.
  • App link improvements.
  • WebView Samesite.
  • New stretch overscroll.

关注下面的标签,发现更多相似文章