写点什么

Android 已经做好迎接可折叠手机、Kotlin 1.3 的准备

Diogo Carleto

  • 2018-11-20
  • 本文字数:1856 字

    阅读完需:约 6 分钟

Android已经做好迎接可折叠手机、Kotlin 1.3的准备

在 Android 开发峰会上,谷歌发布了一系列新闻,包括 Android 支持 kotlin 1.3 新特性、可折叠手机支持、应用内 Updates API、Android Studio 改进等等。

Kotlin

Kotlin 1.3带来了一系列新的语言特性、API、Bug 修复和性能改进。这些新特性将通过KTX扩展(KTX 针对 Kotlin 的使用优化了 Jetpack 和 Android 平台 API)集成到 Kotlin 专用的 API 中,作为 Android Jetpack 的一部分,包括:


  • 内联类是一个实验性特性,它允许开发人员创建一个类型,除非装箱,否则不会分配。

  • 无符号数现在是 Kotlin 标准库的一部分,包括 UInt、UByte 和 ULong。这些新类型是使用内联类构建的。

  • 以前为 Android 或 JVM 编写的多平台代码现在也可以面向 JavaScript 或本机代码了。这提供了在更多平台上重用部分代码库的可能性。

  • 协程支持现在已稳定。协程提供了设计异步、非阻塞程序的强大范式。

Android Studio

Android Studio 3.3 Beta 3 带来了一系列的特性、改进和 Bug 修复。我们将介绍其中的一部分。


内存分配分析器现在允许开发人员选择一种模式来跟踪实时内存分配:


  • 全部:获取所有对象的内存分配;

  • 抽样:定期捕获对象内存分配的样本,这是默认行为,在分析时对应用程序性能的影响较小;

  • 关闭:关闭内存分配。


CPU 分析器现在允许开发人员查看 Java 应用程序在主 UI 线程和 RenderThread 上渲染每一帧需要多长时间。当查找导致 UI“掉帧(jank)”和低帧率的瓶颈时,可能会有用到这些数据。


Android Studio 添加了一个新的对话框,允许开发人员删除未使用的目录。当一个新的 Android Studio 主要版本第一次运行时,它会查找包含与 Android Studio 旧版本相关联的文件的目录,而这个旧版本已经无法找到相应的安装。当找到这样的文件时,将显示一个对话框列出这些文件,并提供删除文件的选项。


Android Studio 还支持构建Android应用程序包,完全支持Instant Apps。换句话说,开发人员可以从一个 Android Studio 项目中构建和部署安装应用和 Instant App。要使用此功能,请确保在创建新项目时勾选了“配置项目>此项目将支持 Instant App”的复选框。清单文件中将增加下列属性:


<manifest ... xmlns:dist="http://schemas.android.com/apk/distribution"><dist:module dist:instant="true" />...</manifest>
复制代码


Android Studio 现在支持使用Clang-Tidy对包含原生代码的项目进行静态代码分析。


R8是一个替代 ProGuard 的新的代码压缩和混淆工具,它是默认启用的。

可折叠手机

谷歌已经宣布 Android 支持可折叠手机,名为“Foldables”。可折叠手机是由设备制造商创建的新类型,用户可以折叠/展开设备,如下图所示。



(图片来自android-developers.googleblog.com


谷歌正在优化 Android 系统,以适应一种叫做屏幕连续性的新形式。在这种新形式中,应用程序可以自动从一个屏幕过渡到另一个屏幕。例如,用户用折叠过的小屏幕启动视频,然后展开设备以获得更大的屏幕。当用户展开可折叠手机时,应用程序可以无缝地转移到更大的屏幕上,没有任何问题。在2018年三星开发者大会上,三星宣布了首款可折叠手机,并计划在明年推出。

应用内 Updates API

谷歌发布了 Instant App 的改进,推出了应用内 Updates API。有了这个 API,开发人员将有两个选项可以保证用户更新他们的应用程序:第一个是关键更新的全屏体验,迫使用户立即应用更新。第二种是灵活更新,这意味着用户可以在下载更新时继续使用应用程序。据谷歌介绍,他们正与谷歌的一些合作伙伴一起测试这个 API,并将尽快提供给所有开发人员。



(图片来自android-developers.googleblog.com

Android Jetpack

Android Jetpack带来了一些架构组件库的更新。按照谷歌的说法,旨在简化导航实现的Navigation将在 11 月进行 Beta 测试。


按照谷歌的说法,另一个将进行 Beta 测试的组件是WorkManager,该库提供了一个基于后台约束的作业的解决方案,取代诸如作业或SyncAdapters这样的东西,提供一个简洁的现代化 API,旨在使它更容易指定异步任务,在有或没有 Google Play Services 的设备上都可以运行。


Slices是 UI 模板,可以在谷歌搜索应用和其他地方(如谷歌助手)中显示丰富的动态交互式内容。它已经被转移到公开搜索实验中。


谷歌Android开发者网站上提供了更多信息。谷歌还为那些想为可折叠手机准备应用程序的用户提供了一系列建议


如果你已经把 Android Studio 设置为在Beta通道上接收更新,那么你可以通过帮助 >检查更新(Android Studio > 检查 Mac 版更新)来获得更新。否则,你可以从这里下载。


查看英文原文:https://www.infoq.com/news/2018/11/android-dev-summit-2018


2018-11-20 13:401628
用户头像

发布了 1008 篇内容, 共 411.6 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

阿里开始“拆”中台?!中台建设何去何从?

博文视点Broadview

产品训练营 - 对二次作业

Wangyunnfei

融资融券系统搭建

v16629866266

Mybatis系列全解(二):Mybatis简介与环境搭建

潘大壮

Java 后端 mybatis mybatis源码

拆解 抽奖助手 的利益相关者

小匚

产品经理 产品经理训练营 无码科技

一点点感慨--移民二代

张老蔫

28天写作

产品经理训练营 - 第二周作业

泡面加煎蛋

面试官:你说说ReentrantLock和Synchronized区别

叫练

AQS 多线程 ReentrantLock lock 独占锁

Mybatis系列全解(一):手写一套持久层框架

潘大壮

Java 后端 mybatis mybatis源码

作业

让我思考一会儿

Mybatis系列全解(四):全网最全!Mybatis配置文件XML全貌详解

潘大壮

Java 后端 mybatis mybatis源码

面试加分项!Android项目开发如何设计整体架构?学习路线+知识点梳理

欢喜学安卓

android 程序员 面试 移动开发

聊聊架构模式的变迁:从分层架构到微服务架构

华为云开发者联盟

架构 软件 微服务 分布式架构 软件设计

第二章作业

白知之明

实习流水帐(一)

YUKI0506

Spring 是如何解决循环依赖的?

程序员小航

Java spring 源码 循环依赖

产品经理训练营 - 第二章作业

Ryun

抽奖小助手——利益相关者

墨狂之逸才

产品经理的大局观——

小匚

产品经理 产品经理训练营

产品经理第二周作业

朱琴

CNCF CTO解读:2021云原生最新趋势

华为云原生团队

开源 Kubernetes 开发者 云原生 边缘技术

MapReduce练习案例1-统计求和

小马哥

大数据 mapreduce 七日更

Mybatis系列全解(三):Mybatis简单CRUD使用介绍

潘大壮

Java 后端 mybatis mybatis源码

70 张图带你彻底掌握红黑树

Java 数据结构 红黑树

Java 程序经验小结:反射机制勿滥用

后台技术汇

28天写作

Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件

潘大壮

Java 后端 mybatis mybatis源码

面试学习!我们究竟还要学习哪些Android知识?讲的明明白白!

欢喜学安卓

android 程序员 面试 移动开发

如何方便记忆和理解类图里的线条

华为云开发者联盟

Java 函数 二叉箭头 类对象

从关键技术到实践成果,华为云下一代视频编解码技术优化应用的探索

华为云开发者联盟

AI 5G RTC 视频编码 vr

anyRTC在音频领域的探索

anyRTC开发者

ios android 音视频 WebRTC 在线教育

一看就懂的网络传输介质介绍

Android已经做好迎接可折叠手机、Kotlin 1.3的准备_硬件_InfoQ精选文章