前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >折叠屏开发指导系列②丨应用连续性解读:如何做到不重启,任务不断裂?

折叠屏开发指导系列②丨应用连续性解读:如何做到不重启,任务不断裂?

作者头像
软件绿色联盟
发布2022-03-31 13:31:57
1.2K0
发布2022-03-31 13:31:57
举报

前言

应用连续性是折叠屏手机的一大亮点,当在折叠态、展开态之间切换时,应用保持运行状态,并会自动调整大小以匹配新的布局。为了保证开发者的应用程序在展开/折叠过程无缝切换,开发者需要做应用连续性的设计,以确保应用程序任务不中断。以Mate X为例,最佳的体验为,应用在展开切换过程中,不发生应用的重启,且切换之前的任务和应用相关状态得以保存和延续。

折叠展开的动作,会触发对smallestscreensize、screensize和screenlayout的配置更改。每当发生配置更改时,默认情况下会销毁并重新创建整个activity。

推荐开发者通过注册监听系统configchanges消息,不重启应用的情况下处理配置更改,开发者需要向menifest中添加android:configchanges属性,其中至少包含以下值:

开发者需要复写 onConfigurationChanged() 方法,通过该方法的Configuration参数获得屏幕的分辨率等信息,就可以针对不同比例屏幕下的应用界面布局做相应调整,如切换布局、调整控件位置和间距等。

如果应用必须进行重新走生命周期来以响应屏幕切换,需要进行状态的保存和恢复。

开发者可以通过OnSaveInstanceState()和ViewModel对象来进行之前状态保存和后续的恢复。即在销毁activity之前,通过onSaveInstancesState()存储状态, 在onCreate() oronRestoreInstanceState()进行状态的恢复。

Note:不要在OnDestroy()中调用finish()或其他自行终止进程。这将导致应用程序在设备折叠或展开时关闭、闪退等问题。

详细信息请参阅Android开发者指南:

https://developer.android.com/guide/topics/resources/runtime-changes

在这个新兴的外形尺寸上,要在从一个屏幕切换到另一个屏幕时提供出色的用户体验,对开发者而言是个不小的挑战。为避免用户体验因应用切换屏幕而受到影响,请开发者确保应用能够妥善处理运行时配置变更。以上内容为折叠屏开发指导之应用连续性内容,后续软件绿色联盟会继续发布应用内分屏、分屏和悬浮窗、开发调试等内容的深度解读文章.

End

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件绿色联盟 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档