手机大厂如何处理安卓分屏退出后最近任务显示一半问题?

devtools/2025/2/28 6:40:28/

背景:

近来在有学员朋友在群里讨论到了一个分屏退出后,在桌面最近任务中的卡片显示异常问题,虽然他的问题和目前市场上的最近任务显示一半情况不一样。但是这里也刚好启发了群里vip学员们对这个最近任务对分屏task只显示一半画面问题进行相关的调研和激烈讨论哈。
分屏退出问题后最近任务现象:
在这里插入图片描述
针对这个最近任务中task如果从分屏退出的,下半屏在最近任务中就空白没有显示任何内容,其实也能理解为啥会显示半屏,主要还是因为分屏时候本身就是只有半屏内容,所以自然截图也只有半屏。但是针对android本身就有这样一个原生问题具体该如何改进呢?
针对这个问题vip群的技术讨论非常激烈:
在这里插入图片描述

下面来分析分析几个手机厂商的是如何处理的。

如何处理最近任务半屏问题

复现步骤:
1、哔哩哔哩应用和可以进入分屏的另一个应用同时进入分屏
2、触摸哔哩哔哩焦点到这个app上,然后返回退出分屏
3、上滑进入桌面多任务既可以看到哔哩哔哩半屏task问题
那么接下来看看大厂们是桌面解决规避该问题的,首先调研到小米手机处理方式如下:
在这里插入图片描述
明显可以看出这里的bibili应用最近任务卡片显示并没有出现下半屏不显示内容情况,但是也可以看出这里哔哩哔哩显示的这个task卡片的画面也是有被裁剪的,并不是真正的全屏,明显看着是拿半屏task画面,裁剪出来的。
具体估计方案如下:

在这里插入图片描述

这个是一种比较好的处理方案哈,当然也有一些手机厂商压根没有处理的,比如如下手机厂:
在这里插入图片描述

扩展是否有其他交互方案:

针对上面裁剪显示可能有的同学认为也不是那么完美,有没有其他好方案呢?
这里也可以从一些大厂手机获取一些思路,比如如下一种处理方案:
在这里插入图片描述
这里是对相册这个应用进行相关的多任务卡片的遮盖处理,同时也可以大概模糊的透看到底部一点内容。

所以这种思路也就是使用一些其他遮盖图层,或者是对task画面进行高斯模糊放大裁剪等画面,替换掉原来的真实task画面。

最完美的方案的相关思考

其实上面都是针对task的截图了半屏后,对图像的一些裁剪,或者是遮盖模糊等处理,本质上都只是一种交互规避方案,不需要修改到wms那块的原生窗口大小显示逻辑。
那么是否可以考虑直接正面解决呢?直接不让截图到半屏,只要进入到最近任务就是让task全屏,截图到全屏呢?
其实这种解决方法理论上也是可以做到的,但是逻辑上是不合理的,因为最近任务只是展示task曾经的一种状态,即task显示的内容肯定是已经展示过给用户了,如果我们是从分屏退出,其实task对于用户来说只展示过分屏的task画面,没有展示过task的全屏画面,但是如果因为我们强制想办法修改相关逻辑,让最近任务显示全屏task的内容,这个反而会让用户觉得很奇怪,为啥我都从来没见过task全屏画面,但是在最近任务里面却显示是task的全屏画面。

所以,综合以上因素还是认为保留task的半屏截图然后做相关处理是最好的一种方案。

参考链接:https://mp.weixin.qq.com/s/Tv85ncfE_9J2xoKyMmMayQ

更多framework实战干货,请关注下面“千里马学框架”


http://www.ppmy.cn/devtools/163285.html

相关文章

DeepSeek再推开源力作,DeepEP高效通信库来袭

人工智能咨询培训老师叶梓 转载标明出处 想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具(限时免费)。 1小时实战课程,您将学习到如何轻松上手并有效利用 Llama Facto…

Eureka的缓存原理分析

上一篇介绍了Eureka的缓存机制,Eureka的缓存机制就像个"善意的谎言"——它为了让系统更抗压,会悄悄把服务信息藏在小本本里。咱们今天就扒开它的口袋,看看里面到底揣着什么秘密~ 扒开Eureka的缓存小棉袄:源码里的温柔陷…

谈谈 Node.js 中的模块系统,CommonJS 和 ES Modules 的区别是什么?

Node.js 模块系统:CommonJS 和 ES Modules 核心差异与实战指南 一、模块系统基础概念 **CommonJS (CJS)**​ 是 Node.js 传统模块系统,采用同步加载方式,典型特征: // 导出 module.exports { name: cjs }; // 或 exports.nam…

【Uniapp-Vue3】开发userStore用户所需的相关操作

在项目根路径下创建的stores文件夹中创建user.js文件 并将以下内容复制到user.js中 import {ref} from "vue" import { defineStore } from pinia; const uniIdCo uniCloud.importObject("uni-id-co") const db uniCloud.database(); const usersTable…

数据库MySQL

【解决问题】mysql提示不是内部或外部命令,也不是可运行的程序 一般这种问题是因为没有在系统变量里面添加MySQL的可执行路径 以下是添加可执行路径的方法: 第一步:winR输入services.msc 然后找到MySQL,右击属性并复制MySQL的可执…

【蓝桥杯集训·每日一题2025】 AcWing 5438. 密接牛追踪2 python

5438. 密接牛追踪2 Week 2 2月26日 题目描述 农夫约翰有 N N N 头奶牛排成一排,从左到右依次编号为 1 ∼ N 1 \sim N 1∼N。 不幸的是,有一种传染病正在蔓延。 最开始时,只有一部分奶牛受到感染。 每经过一个晚上,受感染的牛…

Visual Studio更新说明(关注:.NET+AI生产力)

Ver V0.0:Visual Studio 2022 v17.12更新:.NET9AI生产力 AI插件推荐 (1)腾讯云AI代码手(内含了DeepSeek-R1),目前免费,但收费我也可能会买。 AI插件!推荐 (1)百度的…

销售易NeoCRM与八骏科技CRM:全方位深度对比

在当今竞争激烈的CRM市场中,销售易NeoCRM和八骏科技CRM作为国内知名的CRM解决方案,各自拥有独特的优势和特点。本文将从功能、用户体验、价格、市场评价以及适用场景等方面对这两款CRM系统进行对比总结和盘点。 一、功能对比 销售易NeoCRM:…