前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android Q 开发者常见问题 | FAQ・第二期

Android Q 开发者常见问题 | FAQ・第二期

作者头像
Android 开发者
发布2024-01-26 10:20:38
2200
发布2024-01-26 10:20:38
举报
文章被收录于专栏:Android 开发者

64-bit

Q: 为应用添加 64 位架构支持会带来 APK 的体积增大,但 Google Play 只允许上传最大 100MB 的 APK,这种情况应该如何解决?

A: 我们强烈建议您使用 Android App Bundle,这是 Android 所支持的一种官方发布格式,可让您以更高效的方式开发和发布应用。当您发布 Android App Bundle 文件到 Google Play 时,如果 Google Play 分析并发现任何一个可能设备的下载包超过 150MB 时,将会拒绝这个 App Bundle 文件。如: 当用户首次下载您的应用时,基础 APK 加上为特定设备而构建的 APK 之和不超过 150MB。除了 Android App Bundle 方式,您也可以为不同架构发布不同的 APK 文件。

Q: 2019 年 8 月 1 号开始没有支持 64 位的在线应用,64 位的手机还能不能下载使用?

A: 因为 Google Play 只提供对适配该设备的应用下载,所以除非设备同时也支持 32 位运行环境,否则将不能下载没有支持 64 位的应用。

Android 性能

Q: 近期的 Android 版本在提升性能上做了什么努力?

A: Android Q 为 ART 运行时新添了多项改进。让开发者无需更改任何代码,便可有效缩短应用的启动时间,减少内存消耗。例如,我们改进了 Android Q 中的 Zygote 进程,提早开启应用进程并将其移至安全容器中,如此一来,应用便做好了随时启动的准备。此外,我们还在应用的系统启动映像中加入了更多信息,例如类,并借助线程管理加快映像文件的加载速度。

与此同时,我们还在 ART 的并发复制垃圾收集器 (Concurrent Copying Garbage Collector) 中加入了分代收集机制 (Generational Garbage Collection)。分代算法可以将新生代的对象单独收集出来,这样效率更高,而且与 Full-heap GC 相比成本更小,释放空间也十分可观。总体而言,引入分代算法后,ART 垃圾回收速度和 CPU 利用效率有了明显提升,在减少垃圾的同时,帮助应用在低端设备上流畅运行。

我们在近期的 Android 版本中也加强了对后台运行以及隐式广播的限制,同时我们也改进了低电耗模式。在 Android 9 中,我们引入了一项名为应用待机群组 (App standby buckets) 的特性。但更重要的是,我们希望和开发者一同去改进应用的质量。

针对非 SDK 接口的限制

Q: 非 SDK 接口的灰名单是何时确定的?是否会不定时动态更新呢?

A: 非 SDK 接口的各类名单是随着每个 Android 版本的发布而更新的。

Bubbles

Q: Bubbles 为何要放在开发者选项?

A: 在 Android Q 中,气泡 (Bubbles) 仅作为一项预览功能,我们仍在探索气泡功能的发展方向。欢迎向我们反馈您的意见,这将有助我们改进气泡功能,并在未来以最好的形式推出该功能。

Q: 当应用在后台被关闭后,此前显示的气泡 (Bubble) 还会显示吗?

A: 气泡是基于通知的,也应该和通知一样工作。

CameraX

Q: 现在有哪些手机已经支持 CameraX Extension,以及是否有后续的路线图?

A: 我们正协助包括三星、摩托罗拉和 LG 在内的一系列 OEM 厂商在设备上支持 CameraX Extension

Q: CameraX 中的图像分析功能是在线还是离线的?它是否支持人脸和物品识别?

A: ImageAnalysis 只会从相机获取实时图像,并传递到开发者定义的分析器。开发者可以利用这些图像来进行更深入的分析,如进行人脸识别。

Device ID

Q: Android Q 上禁止了对于设备 IMEI 的获取,那么如何更好地唯一识别设备呢?

A: 针对不同的场景,我们建议用不同的唯一标识符。

Q: Device ID 废弃后,如何识别卸载再安装的用户?

A: 在 Android 8.0 或以上的版本中,可以考虑使用 SSAID (Settings.Secure.ANDROID_ID),因为它的生成是基于设备用户安装应用签名的密钥。

Q:在同一台设备上,不同应用的 Android ID 是否相同?

A: 对于由不同开发者密钥签名的应用或同一设备上的不同用户,Android ID (Setting.Secure.ANDROID_ID 或 SSAID) 是不一样的。如果不同应用由同一开发者密钥签名,那同一用户在这些应用间的 Android ID 是相同的。

Generic System Image (GSI)

Q: GSI 是支持所有手机硬件吗?还是只支持像 Pixel 这样的标准硬件?

A: 支持使用常规系统映像 (GSI) 的设备需要满足以下条件: 完全的 Treble 支持;可解锁 bootloader;停用 Android 启动时验证 (Verify Boot)。我们测试了少量的设备,如 Moto G7/G7+、Sony XZ3、小米 Note7、MIX3,这些是支持的;同时我们发现一加 6T 有兼容性问题,我们正在修复。

Q: 怎么在厂商手机上安装 Android Q?

A: 如果您想安装 Android Q Beta,可参阅: developer.android.google.cn/preview/dev… 的有关说明。该页面列举了如何从 OEM 厂商获取并安装 Beta 版本。

Permissions

Q: 为什么扫描蓝牙及 Wi-Fi 热点也需要申请地理位置权限?

A: 因为开发者可以利用这些信息来推断用户的位置。为了提高用户的透明度,Android Q 对这些功能加上了地理位置权限的要求。开发者可以使用系统的对话框来选择 Wi-Fi 热点。

其他

Q: 关于应用内存的分析,有什么好的工具或者方法吗?

A: developer.android.google.cn/games 提供了一些运行时分析的方法。

点击这里提交产品反馈建议

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 64-bit
  • Android 性能
  • 针对非 SDK 接口的限制
  • Bubbles
  • CameraX
  • Device ID
  • Generic System Image (GSI)
  • Permissions
  • 其他
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档