万字盘点 Android 领域在 2023 年的重要技能:AI, 14, Compose, 鸿蒙... ...

打印 上一主题 下一主题

主题 793|帖子 793|积分 2379


AICore


2022 年底横空出世的 GPT-3.5 引发了全球的大模型 LLM 狂潮。作为在 AI 领域耕耘多年的巨头,Google 自然不会坐视不管,于 2023 年底之际发布了超越 GPT-4 的 Gemini 系列模型,其在多模态领域的表现令无数人震撼。
而对于 Android 开发者而言,最奋发人心的消息莫过于 Gemini Nano 模型将内置到 Android 体系当中,并开放给开发者使用,这套机制便成为 AICore。
具体的 Android 将会内置一个名为 “Google AI Services” 的体系 App,可以让开发者便捷访问端侧内置的 AI 模型(on-device model)。
通过 AICore 可以对类似 Gemini Nano 这种端侧模型实现模型管理、运行时调用、安全检查、多模态等能力,并保存相应的 API 给开发者举行机动的运用。固然这需要端侧模型本身针对移动芯片等装备做专门的优化。
有了这样的模型支持,第三方 App 来说可以将 AI 与已有的许多场景相联合、优化体验,甚至碰撞出不少新的想法:


  • 高质量文本摘要、问题回答、问题扩展
  • 上下文智能复兴
  • 高级校对和语法纠正
  • 等等

AICore 的目的在于将 AI 能力规范化、接口/协议统一化,方便开发者举行 LLM 的选择、调整以及应用创新。再借助数以亿计的 Android 装备的出现,必将加速 AI 技能的发展和普及。
作为 AOSP 的另一个分支 - Android Automotive OS 也将从 AICore 中受益。从 Automotive 延伸出来的车载机体系越来越多,只要芯片兼容,未来都可以利用 AICore 技能举行许多车载场景的拓展,尤其可以在语音助手、智能推荐、自动驾驶等方面引发出无穷想象。
更多信息可以参考官方针对 AICore 的介绍:


  • AICore Home page
  • A New Foundation for AI on Android
大概参考笔者此前写的 AICore 分析:


  • AICore 带来了 Android 专属的 AI 能力,它要办理什么?采用什么架构思路?
对于 Gemini 模型,可以参考官方的 blog:


  • Introducing Gemini: our largest and most capable AI model
Studio Bot


Github 基于 GPT 推出的 Copilot 等一系列 AI 编程助手让 Google 也感受到了压力,今年 Google I/O 2023 的时候,郑重推出了 Android Stuido Bot。
Studio Bot 是旨在帮助处理编码场景的 LLM。它紧密的集成在 Android Studio 中,用对话的形式举行出现,只需要非常简单的操作便可以举行问题解答、编码建议,甚至直接天生代码。
它可以提供非常多 Android 平台强相关的技能支持,比如:


  • 如何为我的应用添加 Camera支持?
  • 我想创建一个使用 Room 框架的数据库。
  • 可以提醒我 javadocs 的格式吗?
  • 什么是深色主题?
  • 在 Android 上获取位置信息的最佳方式是什么?
而且 Studio Bot 能够记住对话的上下文,因此您还可以向它询问后续问题,比方:


  • 可以给我使用 Kotlin 的代码吗?
  • 您能告诉我如安在 Compose 中执行此操作吗?
固然,它还能听懂针对 Android Studio 工具的询问,比方:


  • 如何分析应用中的卡顿?
  • 在那里可以找到 CPU 性能分析器?

可以查看官方的对于 Studio Bot 的介绍和视频演示:


  • https://developer.android.com/studio/preview/studio-bot?hl=zh-cn
国内的这篇文章对于 Studio Bot 的介绍也比力细致:


  • https://juejin.cn/post/7231997803559141413
New Android Studio

除了参加了 Stuido Bot 这样应景的工具以外,Android Studio 不停保持着升级和优化。
New UI


首先要提到的是新版 Android Studio 提供了更加简洁的 UI 视图,低落了视觉复杂性,让用户更轻松地使用根本功能,并酌情显示复杂功能,从而打造现代、简洁的外观和风格。
主要更改如下:


  • 简化了主工具栏,新增了 VCS、Project 和 Run widget
  • 工具窗口采用了新的布局
  • 新增了一些浅色主题和深色主题,带有对比鲜明且色调划一的调色板
  • 新增了图标集,更易于辨识
简而言之就是四新:新工具栏、新工具窗口、新主题、新图标。
装备镜像

如今 Android Studio 支持在 Running Devices 窗口中投屏实体装备了,通过将装备的显示屏直接流式传输到 Android Studio,将可以直接在 Studio IDE 中执行比方启动应用、旋转屏幕、折叠和展开手机、更改音量等操作。
这是一个非常好用的功能,开发者从此无需在 AS 和实体装备之间来回切换了,大部门的操作都可以在 AS 内直接完成,将大大提高开发的效率。
PS.以前惯用的 screen copy 工具是不是也可以下岗了?

Compose 的全力支持

随着 Compose 的日渐成熟,AS 也没有掉队,持续地推出好用的调试工具。正如 Compose 最新的 Multipreview 功能,AS 如今支持针对多种场景下的 Preview 展示。

使用过 Compose 开发的同砚应该有过这种体验:如果 Compose 的某些部门意外重组,有时很难定位到原因。如今在可组合函数上设置断点时,AS 的调试界面将会列出可组合项的参数及其状态,以便更轻松地识别到大概导致重组的源头。

其他 Android Stuido 带来的新特性还有许多,大家可以在如下 page 查看更多细节和持续关注:


  • https://developer.android.com/studio?utm_source=android-studio&hl=zh-cn
  • https://developer.android.com/studio/releases?hl=zh-cn
ANDROID 14


Google 宣称 Android 14 是迄今为止最奋发人心的版本,让我们看一看一年一度的 Android 盛会又带来了什么改变。
首要提及的便是 Behaviour changes,这也是开发者们 OSV 工作的重点,无论 Android 升级了啥,举动变更是绕不过去的点。


  • 强制要求使用 foreground service 的情况下,必须指定至少一个前台服务范例 foregroundServiceType。如果没有指定,那么在调用 startForeground() 方法的时候,将会抛出 MissingForegroundServiceTypeException 异常。并在 Android 10 引入的服务范例里新增了 health、remoteMessaging 等范例
  • 动态注册的 broadcast receiver 必须指定是否对外可见,即 RECEIVER_EXPORTED 或 RECEIVER_NOT_EXPORTED,确保开发者清晰本地的广播接收器是否需要接收外部变乱,避免遭受到外部 broadcast 的恶意攻击
  • 伴随开发者多年的 overridePendingTransition 下线了,正式进入非推荐 API 名单,取而代之的是 overrideActivityTransition。名称上看貌似没太大区别,实则变革确实不太多,主要区别是为了匹配未来 Android 平台上重要的返回手势
  • 使用了动态加载程序(其他 Jar)的代码的话,需要调用 setReadOnly() 指定为只读状态,否则体系将会抛出异常
  • 此前在特殊情况下会调用 killBackgroundProcesses() 的方法在 14 及以后只能制止本身,如果传入其他应用程序的包名,不会对其他应用程序产生影响,Logcat 也会输出相应的错误提示:Invalid packageName: xxx
  • Runtime Permission 是个逢升必改的 topic,本次引入了针对选中部门媒体 image/video 的访问权限:READ_MEDIA_VISUAL_USER_SELECTED,举行了媒体库的权限细分。需要开发者对原有的媒体文件访问逻辑举行相应的适配
  • 引入 cgroup 机制支持冻结缓存应用,加强杀进程能力,低落伍台整体的 CPU 占用和内存消耗。除了常规的 Android 应用生命周期 API (如前台服务、JobScheduler 或 WorkManager) 之外的后台工作将被禁止,受到影响
固然,Android 14 还推出了浩繁 New Features,这块实在容易被大家忽略,实则更重要。理由是 New Features 不像 Behavior Changes:OS 升级之后如果运行上出了问题,观察下文档就知道 14 变更了什么、如何改。而 New Features 作为新的功能、API,并不会影响 App 原来的逻辑,但实实在在地办理了痛点、优化了体验、提供了一个又一个特色能力,从久远来讲是更有价值的。
主要有这么几块新特性:

  • 添加专用 ScreenShotCallback 来规范监听截屏的开发方式
  • 添加全新 API 来简化 Hightlight 的实现方式
  • 重新设计 Back Arrow 和支持目的界面的预览 Predictive Back Preview 来统一、加强 Android 平台上 Back 导航的体验
  • 支持 Custom Share Action 的尺度分享,来满意丰富、机动的分享需求
  • 引入全新的区域设置 Locale Preferences 来改善用户习惯的体验
  • 引入全新的、独立的语法性别 Grammar Gender 来提高文本表述的准确度
  • 引入特定 API Path Interator 来方便开发者对 Path 汗青举行回溯
  • 通过改善 Package Installer 来全方位提升 App 安装、更新方面的细节体验
可以看到 Android 14 对隐私、安全方面还是一如既往地器重:持续地提出新的 API 和开发要求;并从底至上地优化体系的进程调治来提升整体的性能和效率;同时在截屏、返回、文本显示、分享、地域/语言、下载/更新等多个实用场景举行了全新 API 的设计,满意了用户需求的同时兼顾到开发者适配的高效。
更加完备的细节可以参考官方的发行 blog:最新版发布 | Android 14 现已正式发布至 AOSP!
以及笔者针对新特性 topic 单独整合的详细阐明:深度解读 Android 14 重要的 8 个新特性~
Compose


对于 Android 平台如今最重要的 UI 框架 Compose 而言,今年是重大发展的一年。
首先在 2023 年初推出了 Compose for Wear OS 1.1 稳定版,在 Phone、Pad 以外逐步开拓 Wear 等其他硬件场景。


  • Compose for Wear OS 1.1 推出稳定版: 相识新功能!
然后在下半年对 Compose 版本举行了重要升级,到了 Jetpack Compose 1.5。将修饰符的性举行大幅提升,较构建之初提升高达 80% ;并对内存的使用举行了改进,尤其是在图形堆栈和矢量资源加载方面,淘汰了 Compose 的内存占用;同时针对常用的文本控件迁移到了新的渲染体系当中,使得初始 Compose 的时间均匀提高了 22%,并在一项涉及文本的复杂布局的基准测试中提升高达 70% 等等


  • Jetpack Compose 2023 年 8 月版最新动态
以及在 9 月份给 Android Studio 引入了实时编辑功能,加速 Compose 的开发流程。具体的是实时将代码更改部署到实体装备或模拟器上运行的应用中,能够更改应用界面并即时查看更改对应用运行产生的影响,从而更快地迭代,提高开发效率。



  • 全面相识实时编辑,即刻加速开发流程
KOTLIN


作为 Android 平台首推的开发语言,Kotlin 的发展不容忽视。
今年 7 月份,Kotlin 1.9 重大版本正式发布,Kotlin Multiplatform 也进入了稳定阶段。
以下是此版本的一些亮点:


  • 开放范围的稳定 …< 运算符
  • 枚举类值函数的稳定更换
  • Kotlin/Native访问常量时不再初始化对象
  • Kotlin Multiplatform 中的 Gradle 配置缓存预览以及对 Android 目的支持的更改
  • K2 编译器将在 Kotlin 2.0 中进入稳定状态

完备的变革可以参考官方文章:


  • Kotlin 1.9.0 现已发布 | 官方博客
鸿蒙


我知道肯定有朋侪对于我把鸿蒙这个话题纳入到 Android 技能盘点里存在贰言:你怎么能说鸿蒙是 Android 呢
实在早在 3 年前笔者便对鸿蒙上 IDE 的使用、App 的开发方式以及程序的构成举行了分析,感兴趣的可以查看:


  • 鸿蒙Harmony谈了这么久,和Android到底啥区别?
但不得不说如今的鸿蒙进度飞快,无论是应用平台还是 IDE、API 都愈加成熟。
固然鸿蒙还没正式移除 Android 内核,但鸿蒙 NEXT 筹划正有条不紊地推进着,包括美团、付出宝、喜马拉雅等一众大厂正在对接鸿蒙平台的原生开发。
毫无疑问的一点是:无论是 IDE 工具还是 ArkUI 体系,都和 Android 原生开发有着千丝万缕的接洽和相似性,Android 开发者在鸿蒙开发的入门、上手上都有着非常大的优势。
所以,大家不用纠结于鸿蒙是不是 Android 的结论,也不用唱衰鸿蒙的发展。如果有兴趣、有机会,用你已有的 Android 移动端的头脑和履历实验起来、武装本身,和咱们的职业生存并不冲突。
小郭写的鸿蒙终于不套壳了?纯血 HarmonyOS NEXT 即将到来有针对鸿蒙 NEXT 细致的介绍,可以参考一二。
结语

总的来说,今年 Android 领域的技能发展可以总结为这么几点:


  • 在 LLM、AIGC 大浪潮下作为 AI 先驱的 Google 想在存量最大的 Android 生态里做点延伸即 AICore,方便开发者的同时更快地推广本身的 AI 技能
  • 为应对 AIGC 的应用态势以及 Android 本身的开发需要,在 Android Stuido 里引入 Studio Bot 和更多好用、应景的 Compose 等工具
  • 必须要做的、长足的 Android 14 升级,往更加成熟、安全、稳定的方向去发展
  • 逐步优化和迈向更多平台的 Compose UI 工具包和 Kotlin 语言
  • 国内势头正盛的鸿蒙平台给国内移动端带来的新技能方向
固然,未单独介绍的 Flutter 跨平台和 Jetpack 家族也有着不少动作:


  • Flutter 3.16 和 Dart 3.2 也迎来了大量更新,为改善并构建一个优美的用户体验而做出努力
  • Jetpack WindowManager 1.1 稳定版发布,解锁了可折叠装备和大屏装备的开发场景
  • Jetpack Car 1.4.0-alpha01 版发布,为想要在低版本上构建 Android Auto 和 Android Automotive OS App 的开发者提供大概
  • Jetpack CameraX 1.3 版本推出,这个库的实用性也更上一层楼:提供借助双并发摄像头功能,应用可以同时操控两个摄像头的功能;新增了对 10 位视频流及 HDR 配置文件的支持,以便用户能够拍出细节、色彩、对比结果更胜以往的视频;提供了一些钩子 (hooks) 来实现高级或自定义特效

Android 平台技能每年的变革许多、新东西很繁杂,不一定都得把握,但至少需要相识一下。
祝每一位 Android 相关从业者 2024 年乐成、顺遂,咱们来岁再见~
参考资料 & 文章推荐



  • AICore Home page
  • A New Foundation for AI on Android
  • AICore 带来了 Android 专属的 AI 能力,它要办理什么?采用什么架构思路?
  • Introducing Gemini: our largest and most capable AI model
  • Studio Bot
  • Studio Bot - 让 AI 帮我写 Android 代码
  • Android Studio releases
  • 最新版发布 | Android 14 现已正式发布至 AOSP!
  • 深度解读 Android 14 重要的 8 个新特性~
  • Compose for Wear OS 1.1 推出稳定版: 相识新功能!
  • Jetpack Compose 2023 年 8 月版最新动态
  • 全面相识实时编辑,即刻加速开发流程
  • Kotlin 1.9.0 现已发布 | 官方博客
  • 鸿蒙Harmony谈了这么久,和Android到底啥区别?
  • 鸿蒙终于不套壳了?纯血 HarmonyOS NEXT 即将到来

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表