如果您曾经使用过中国品牌的智能手机,那么您可能已经处理了令人讨厌的“电池优化”功能,这些功能会在后台杀死所有您喜欢的应用程序。对于那些希望某些应用程序因某种原因在后台继续运行的用户而言,这种行为不仅令人烦恼,而且对于那些不了解不是应用程序错误的用户的糟糕评论的开发人员来说也很烦人。虽然谷歌仍然没有完全解决这个问题(他们通过声称这种行为可能已经违反了Android兼容性定义文档的要求而挥之不去),该公司正采取行动反对一项“节省电池”的行为改变一些原始设备制造商。 “为了帮助解决这个问题,我们在Android Q中添加了一个CTS测试,以确保应用程序不会在从最近被刷新时被杀死。
在Android Q 中,我们不能 随意kill 后台进程,可能对性能是一种影响。
谷歌计划在Android R中添加滚动屏幕截图,但与此同时,Android团队正在“密切关注他们如何改善整个屏幕 - [X]体验R.”因此,我们可能会看到其他人改进了下一个主要Android版本中的屏幕截图(AND screencast)行为。
Android Q新模式:system-wide dark mode.目前,可以在“设置”中或通过“快速设置”中启用暗模式,也可以在启用“省电模式”时自动激活暗模式。在Android Q之前,有一个选项可以根据时间启用dark mode,但该选项已弃用。根据Chris Banes的说法: “在AppCompat v1.1.0中,为什么要弃用(未删除)有几个原因:它要求应用程序请求位置权限准确,即使在有效位置,日出/日落时间计算也可能有问题,从而影响该功能” 当被问及这些bugs时,Banes先生表示“计算日出/日落是非常困难的,特别是对于靠近北极/南极的位置。”一位用户提出了自从Android 7.1 Nougat可以自动切换的夜灯。日落/日出时间表。Banes先生随后表示,由于Night Light使用ICU4J的CalendarAstronomer,它使用了“我们不希望AppCompat依赖的大块代码。”
谷歌推出了Camera2 API,以更好地定义应用程序如何与连接到智能手机的各个摄像头进行交互。虽然Google鼓励智能手机厂商“将所有物理相机暴露给开发人员”,但许多供应商选择不这样做,即使“API本身并没有阻止他们。”这意味着许多第三方相机应用程序无法使用双camera或三camera。Android Q已经改进了LOGICAL_MULTI_CAMERA,可以让开发人员更好地访问设备上的所有摄像头,并使OEM能够控制功耗和多个摄像头状态的管理。 此外,Google表示他们强制要求 Android Q所有设备必须支持Camera2 API / Camera HAL3。 Android Q以后所有新设备都需要原生支持HALv3 / camera2。不幸的是,从HALv1到HALv3的升级相当复杂,可能会产生意想不到的后果,因此我们不得不将范围限制在新设备上”
Android Q的许多变化大大提高了平台的安全性和隐私性。其中一个名为“Scoped Storage”的变更限制了应用程序以恶意的方式访问外部存储上的文件;例如,音乐应用程序不需要查看您的图库。在Android Q中运行的文件管理器应用程序必须使用名为Storage Access Framework的API才能继续正常工作,但是一些开发人员认为此API不如以前可用。Google的Jeff Sharkey表示,该团队已经解决了其中一些开发人员的抱怨: Project Treble improved Android Pie adoption versus Android Oreo
我们已经看到Project Treble是Android框架的主要低级重新架构,它改进了新版Android OS版本的采用。Google认为去年加入Android P beta和今年Android Q beta的智能手机厂商背后的Treble。Project Treble和Mainline工程师Iliyan Malchev表示,Android Pie的采用率是2018年底Android Oreo的“3倍”。 在同一评论中,Dick Dougherty认为更有用的指标正在为Android版本分发图表工作。该图表最后一次更新于5月份,但其数据对于记者而言比应用程序开发人员更有用。
早期的Android Q测试版添加了基本屏幕录像机的功能标记,但该平台本身通过允许应用程序从其他应用程序捕获音频,大大提高了屏幕录制的实用性。Stephanie Saad Cuthbertson表示,该团队正在考虑“我们如何才能在昨天最好的屏幕录制需求上做得更好。”其他智能手机品牌如OnePlus,华硕,华为和三星都拥有可录制内部音频的强大屏幕录像机,因此谷歌将会在这里玩起来。
万一你错过了,Google正在为他们的大部分应用添加黑暗模式。Stephanie Saad Cuthbertson表示希望所有“主要应用程序”能够支持“官方[Android Q]发布的黑暗主题。”甚至谷歌Chrome,当前在系统范围的黑暗主题启用时强制页面重新加载,将更新为主题更改时不再刷新。
当您使用第三方Launchers 时,Android的手势会被破坏。这是因为最近的应用程序用户界面包含在原生的启动器应用程序中,谷歌还没有找到一种方法来获得与使用Pixel Launcher库存时手势相同的无缝转换。亚当科恩肯定了谷歌计划“在发布后尽快解决这些问题。”他进一步表示,不兼容性“将在Q后更新中得到解决,并推迟用Q推出的新设备。”
为了支持Android Q中的动态系统更新,某些设备(如Google Pixel 3和Pixel 3 XL)使用逻辑分区。可以动态调整这些分区的大小。这种变化已经证明在使root访问工作方面具有挑战性,并且一些开发人员担心定制ROM正在成为目标。Iliyan Malchev向我们保证,目的不是限制自定义ROM。他解释说: “动态分区并不意味着限制您可以使用自定义ROM执行的操作。它们只是解决固定分区大小问题的解决方案,而且缺乏在OTA上重新分配设备的安全方法。在动态分区之前,如果OEM在调整大小时出错了,例如系统分区,然后它们将受到该选择的约束,使得在某个点之后升级设备几乎是不可能的。一些OEM确实在OTA上重新分配他们的设备,但这是a)在Android中没有正式支持,并且b)更改分区表被认为是非常危险的。动态分区旨在通过在物理分区表和OS看到之间引入间接级别来缓解该问题。这反过来允许我们安全地调整OTA上的分区大小。至于自定义ROM,你不应该受到任何限制,因为你现在可以做的事情。每个OEM决定启用支持自定义ROM的功能。“
Mainline是Google的一项新举措,旨在标准化某些库和包,以便可以独立于平台更新进行更新。有些人想知道为什么Android Runtime(ART)还不是Mainline模块,但我在Google I / O上被告知模块化ART所涉及的复杂性使他们无法将其作为最初的APEX包之一。正如Iliyan Malchev和Diana Wong所解释的那样: “对运行时进行更新(特别是性能和GC修复和核心库)绝对是我们在主线环境中探索的内容。我们可以看到,能够在所有设备和主线的多个版本中实现这些更新的一致性有很多好处。这也是一个巨大的技术挑战,因为我们考虑如何为开发人员做到最好,并且可能需要多年的努力。这不是Mainline目前可以做的事情,但肯定是我们正在考虑的事情。“ 如果您关注AOSP Gerrit,您会发现Google仍在努力制作运行时APEX。目前,他们似乎将Bionic和ART / libcore拆分为单独的APEX模块。 关于Project Mainline的好处,一位用户询问了Mainline更新的长度。作为回应,Iliyan Malchev表示“这是一个我们仍在评估的政策问题,但我们希望尽可能长时间地更新设备上的Mainline模块。”XDA认可开发人员luca020400询问是否将提供预构建的Mainline模块自定义ROM开发人员可以合并更新,作为回应,Jeff Bailey重申“分离AOSP的模块将具有与每个模块版本匹配的源版本。”我们已经可以看到AOSP中新的APEX模块的进展,例如神经网络API。
在 今年I / O,谷歌推出了CameraX Jetpack库。该库旨在使开发人员更容易支持Android的Camera2 API,同时保持兼容性,一直到Android Lollipop。Vinit Modi认为该公司正在努力将CameraX与Google的机器学习Firebase SDK ML Kit集成,因此开发人员可以将图像帧输入ML Kit进行分析。
相机应用程序的开发人员感到遗憾的是,第三方相机应用程序无法访问Google Pixel的Night Sight等高级相机功能。这应该是可以通过CameraX供应商扩展来解决的,谷歌的Jeff Sharkey说“所有Pixel设备都针对CameraX Core进行了优化。”他嘲笑“扩展方面将在新设备和即将推出的设备上得到支持。”此外谷歌“与几家制造商合作,能够将他们的设备功能带给开发人员和用户。”虽然没有直接确认,但我们可能会看到Google Pixel 4上的Night Sight等功能可用于第三方相机应用使用CameraX库。
Pixel 3因发布后出现了很多问题而遭到抨击,但谷歌通过众多的发布后更新解决了这些问题。内存管理一直是Pixel 3最弱的方面之一,但在Android Q版本中应该会有所改善。根据Selim Cinek的说法: “例如,在SystemUI中,我们在Q中进行了各种大型重构工作,以减少通知和其他表面的RAM使用率。”
如果您想对手机进行无线调试,则必须使用root设备。Android Studio团队的Jamal Eason表示他们目前正在解决此功能的可行性。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有