欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 11 Meetups 你问我答

程序员文章站 2022-03-04 09:21:32
7 月 4 日,GDG Shanghai 社区举办的 Android 11 Meetup 圆满结束。活动中,现场和线上的参与者们也提出了很多精彩的问题。在此,我们将部分精选问答发布,大家......

Android 11 Meetups 你问我答

7 月 4 日,GDG Shanghai 社区举办的 Android 11 Meetup 圆满结束。活动中,现场和线上的参与者们也提出了很多精彩的问题。在此,我们将部分精选问答发布,大家可以一同回顾。

当然,如果你错过了当日的现场直播,这里还有演讲文档,大家可以补作业哟~

Q

A

&

Q1

在我的记忆里,历史上 Android 有两次大的 UI 更新,一次是 2.x 时代到 4.x 时代的变化,一次是 5.x 带来的 Material Design,距离上次的更新也很长久了,在未来版本是否有计划更新 UI 方面的东西呢?比如给 UI 带来更多的物理特性,更贴近现实感受。

A

其实 Material Design 一直在演变。比如黑暗主题的支持、动画过渡的指导、图标设计的更新等等。

想要了解更多,可访问 https://material.io/whats-new。另外,大家可以尝试利用 Material Components 库来实现各种设计模式。

  • Material Components
    https://github.com/material-components/material-components-android

Q2

Android 对 5G 支持的计划是怎么样的?

A

随着 5G 渗透率不断提升,Android 11 提供了相应的网络支持,帮助开发者判断当前连接网络的流量计费状态和估测带宽。APP 可按照这些信息,向用户提供不同的体验。

Q3

Andriod 什么时候能更新下载?

A

Android 11 Beta 版现在已进入了 API 稳定期。我们计划在第三季度发布最终版。

Q4

权限申请 API 有计划改善吗?

A

虽然 Android 11 改变了一些权限特性,如一次性权限和后台地理权限的授予,但是为了保障应用兼容性,我们没有更改有关权限的 API。值得一题的是 Jetpack 发布了一个目前还是在 Alpha 阶段,名为 Activity Library 的库。您可以利用 ActivitiyResultContracts 类来简化处理权限结果回调的代码。

Q5

Jetpack 有一个正在开发的 UI 工具库 Compose,关于它我想问的两个问题:它和 Flutter 原理之间有什么区别,和以后会不会颠覆常规的 Android 的开发模式?

A

Jetpack Compose 的架构设计跟 Flutter、RN、Vue.js 等框架是很相似 —— 它们都是基于反应式的 UI 编程。而且,Jetpack Compose 也结合了 Kotlin 语言,可以和现有的代码共存。如果选用 Compose,就不需要再用 XML 布局等组件啦。大家可以参考我们的 JetNews 样例代码

  • 样例代码
    https://github.com/android/compose-samples/tree/master/JetNews

Q6

Compose 有大概的发布时间吗?什么时候能在实际开发中使用上?

A

Jetpack Compose 现在是在开发者预览版阶段。目前计划是在今年夏季发布 Alpha 版,明年 (2021 年) 将发布 1.0 版。我们希望开发者尝试后能积极给我们分享反馈!

Q7

应用崩溃原因报告功能 (ActivityManager#getHistoricalProcessExitReasons API) 的循环缓存如果在开屏就闪退如何解决?AppExitInfo 是写在内存还是存储?

A

大家可以考虑在 Activity 之前的应用初始化逻辑内调用 getHistoricalProcessExitReasons()。一个普遍的做法是放在 Content Provider 里。Android Jetpack 刚发布了一个基于 Content Provider 的 App Startup 库,您可访问以了解更多信息。

  • App Startup 
    https://developer.android.google.cn/topic/libraries/app-startup

系统会定时把在内存的 AppExitInfo 内容写到存储。

Q8

Android 10 之后对于设备唯一码怎么确定呢,现在的方案都是自己根据设备信息生成,有重复的几率?

A

为了保障隐私,我们鼓励开发者利用一些用户可重置的唯一码。按照具体场景,系统提供几个让开发者选择的方案。一般 MAU/DAU 等用户统计的可以用 java.util.UUID。这个值的唯一性是每 app,每设备用户 (device user)。如果需要追踪跨应用(签名相同)卸载,可使用 Settings.Secure.ANDROID_ID。

Q9

使用 Kotlin 编译出来的软件体积会比较大,未来 Kotlin 代码会有针对性优化吗?

A

APK 体积是我们一直都有关注的问题。Android 和 JetBrains 团队一直在不断的改进 Kotlin 编译器有关的性能。

Q10

对热更新机制是否会进行限制?

A

请注意:Google Play 的政策是禁止热更新的,应用不可以包含任何热更新的能力(不能仅靠设置来关闭)。在国内,我们理解应用需要进行热更新的诉求,也和头部的热更新厂商合作,在第一时间对新的系统进行适配。请应用开发者及时升级热更新框架已获得对新系统的兼容性,也帮助我们敦促热更新厂商尽早完成对新系统的兼容。

Q11

什么时候会限制上架 Google Play 的最小版本为 30?

A

根据 Google Play 的长期政策,在 Android 11 最终版发布 1 年后,所有应用的 targetSdkVersion 需要提升到 30 或以上。Google Play 对 minSdkVersion 暂时没有要求。

敬请期待

Android 11 Meetups 系列活动(7 月 4 日至 8 月 15 日)还在持续进行中,如果你明天和未来周六日有空,欢迎参与到线上活动中来。

活动的时间安排和直播信息:

  • 携手 Flutter 和 Kotlin 探索 Android11(杭州,7 月 21 日)

  • 活动详情:https://www.meetup.com/Hangzhou-GDG/events/271247502

  • 直播链接:http://live.bilibili.com/6874998

  • Kotlin 协程 和 Jetpack Architecture Components(上海,7 月 25 日)

  • 直播详情:https://www.meetup.com/Shanghai-GDG/events/271624622

  • 直播链接:https://live.bilibili.com/21917305

  • Android 11 的新特性及入门体验(东莞,7 月 25日)

  • 活动详情:https://www.meetup.com/GDG-Dongguan/events/271444212/

  • 直播详情:http://live.bilibili.com/22317385

  • IDE 使用技巧 与 Jetpack 详解(北京,7 月 26 日)

  • 活动详情:https://www.meetup.com/GDG-Beijing/events/271332618

  • 直播链接:https://live.bilibili.com/22371554

  • Android 11 & Flutter Meetup(深圳,7 月 26 日)

  • 活动详情:https://www.meetup.com/GDG-Shenzhen/events/271597584/

  • 播链接:https://live.bilibili.com/h5/21070197 

— 推荐阅读 —

Android 11 Meetups 你问我答

Android 11 Meetups 活动持续进行中

请继续关注我们~

Android 11 Meetups 你问我答

Android 11 Meetups 你问我答

Android 11 Meetups 你问我答

本文地址:https://blog.csdn.net/jILRvRTrc/article/details/107478160