看一看系统Task都为啥不显示的问题--学员作业

Android 12之启动画面Splash Screens(二) -- framework原理 本篇介绍Splash Screens的framework层原理。 阅读详情

背景:

近期有学员朋友求助一个系统直接不显示Task相关的窗口问题,先来看看现象:
在这里插入图片描述

上面现象可以看到明显系统启动后桌面已经不显示了,那么就是针对这样一个桌面不显示问题作为学员作业布置给大家来进行探索。

问题复现:

首先要自己代码中加一个TaskOrganizer的继承类:

package com.android.systemui;

import android.content.Context;
import android.window.TaskOrganizer;

public class MyTaskOrganizer extends TaskOrganizer {
    private Context mContext;
    public MyTaskOrganizer(Context context) {
        mContext = context;
        registerTaskListener();
    }
    //注册task的监听
    public void registerTaskListener() {
        registerOrganizer();
    }
}

这个MyTaskOrganizer主要就是在构造时候有调用registerTaskListener,这个最后会调用到TaskOrganizer自带的registerOrganizer方法中去。

接下来在使用这个MyTaskOrganizer既可以:
在这里插入图片描述

做完上面步骤后就已经完成了所有复现的动作,只需要重新编译系统,然后运行起来后就复现出如下桌面不显示问题:

在这里插入图片描述

其实从修改可以看出来,只是简单的构造了一个MyTaskOrganizer就会导致桌面Task无法显示,整个复现过程其实都属于程序员正常写代码行为,但是就是出现了个Task不显示问题。
所以我们任务就是要分析定位出这个Task不显示的根本原因。

作业要求:

1、使用相关代码修改复现该问题

2、使用马哥课程讲解的相关dumpsys命令尝试分析Task不显示的相关分析

3、定位到导致不显示问题的相关代码

4、定位到不显示的根本原因,及进行修复或者规避等

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

Android14 TaskOrganizer导致黑屏 Android14 TaskOrganizer导致黑屏如何分析 阅读详情

相关推荐

TaskOrganizer:任务管理器应用

任务管理器 帮助我学习 Android 开发的 Task Organizer 应用

Android分屏流程分析

安卓分屏流程分析

qq_36063677的博客 6178

RADIOML 2018.01A数据集在自动调制识别中的实战应用指南

本文提供了RADIOML 2018.01A数据集在自动调制识别(AMR)任务中的完整实战指南。内容涵盖从数据集介绍、数据获取与解包、高效预处理流程,到构建PyTorch数据管道、模型设计(如1D CNN、ResNet)以及训练调参策略。重点阐述了如何利用该数据集训练鲁棒的AI模型,以应对复杂信道环境和低信噪比挑战,并给出了详细的性能评估方法。

plant的博客 174

Android Automotive OS 中 TaskView 深度解析 (转载)

Android Automotive OS 中的 TaskView 机制深入定制了 Android 的窗口管理,使得车载系统能够在一个屏幕上安全、高效地呈现多个应用界面。这一实现涉及 WindowManager、ShellTaskOrganizer、SurfaceControl 等框架组件协同工作:通过 LaunchCookie 精确匹配任务,通过 SurfaceControl 重组屏幕合成,通过 Insets 调整输入区域,以及通过权限机制保障只有系统应用才能驱动。TaskView 满足了车载场景对于。

m0_59896099的博客 2531

MCGS触摸屏数据记录与U盘导出配置全解析

在工业自动化现场,数据记录是设备运行状态分析与故障追溯的基础。HMI触摸屏作为人机交互核心,不仅承担实时监控任务,还负责过程数据的存储与导出。理解数据采集周期、存盘机制与存储介质的匹配原理,能帮助工程师高效配置数据记录功能。合理运用定时存盘、存盘组与U盘导出,可支撑设备趋势分析、报表生成及事故排查。本文以MCGS触摸屏为例,详解数据记录的完整组态流程,并汇总常见配置陷阱与排查思路,为现场调试与长期运维提供可落地的技术参考。

weixin_34253126的博客 465

Nordic BLE芯片RF测试

BLE设备在过蓝牙BQB,FCC,ETSI等各种认证时实验室一般都需要做RF各项指标的测试。Nordic公司的SDK包中提供了两种RF测试程序,一种是DTM,另一种是Radio test。这两种都可以做RF指标测试但各自又有区别。DTM是按照蓝牙规范中Direct test mode所要求数据格式测试(数据格式定义参看:Bluetooth Core Specification v5.0->...

5639

安卓Framework wms/ams实战作业布置-千里马学框架

2、如果当前应用在后台(注意一定要在后台,不能在前台),使用adb shell 命令进行kill进程发现只有应用的WindowState在结构树被移除,其他的ActivityRecord,Task就没有被移除。哈哈,确实平时没注意这个现象,看到他描述的这个结果有点意外,主要不影响上面运行,属于安卓自己设计机制,所以与我们想象的一旦进程都被杀了,那么层级结构树肯定不可以残留相关的Task和ActivityRecord。

learnframework的博客 1515

SCCM部署教程:(3)SCCM安装

这两则摘要介绍了WSUS和SCCM的安装步骤: WSUS安装:通过服务器管理器添加"Windows服务器更新服务"角色,选择SQL数据库并指定安装路径,验证数据库连接后完成安装。 SCCM安装:先运行预检工具Prereqchk.exe,选择主站点安装类型,配置语言、站点代码和名称,设置SQL数据库连接参数(保留默认端口4022),选择通信方法和系统角色(管理点和分发点),最后完成约1小时的安装过程。 两则安装指南都强调要确保数据库配置与前期准备一致,并提供了关键配置选项的说明。

小V锅的专栏 919

* 尚学堂第四章作业题参考答案

/** * 尚学堂第四章作业题参考答案 * @author Su Tom * */ /* * 1.选择题(1)B (2)D (3) AC (4)BC (5)C * */ /* * 编程题 1。 编写 Java 程序用于显示人的姓名和年龄。定义一个人类Person。 该类中应该有两个私有属性: * 姓名 (name) 和年龄 (age) 。定义构造方...

qq_42137629的博客 2284

从零到一:手把手教你用HFSS仿真60GHz圆极化磁电偶极子天线(附参数调优心得)

本文详细介绍了在HFSS中设计60GHz圆极化磁电偶极子天线的全流程,包括仿真环境搭建、参数化建模、收敛性优化和性能验证。通过系统化的参数扫描和优化策略,显著提升了天线的轴比带宽和增益性能,为毫米波通信应用提供了高效的天线设计解决方案。

weixin_42614269的博客 311

AD9361功能介绍和使用

AD9361使用分数分频锁相环(PLL)来产生发射机和接收机本地振荡器(LO)频率和BB PLL。BB PLL 可用于数据转换、数字滤波器和 |/O 端口。PLL的参考时钟可以由外部振荡器或外部晶体(XO)和数字可编程片内可变电容提供,电容微调产生参考时钟频率,XO和微调电容的组合统称为DCXO。有多个天线输入的分集系统。接收链数据首先经过低噪声放大器(LNA),然后是同相(1)和正交(Q)放大器,混频器和频带整形滤波器,可将接收到的信号下变频为基带以进行数字化。时分双工(TDD)和频分双工(FDD)。。。

wangjie36的博客 1万+

自动在Windows中运行Python脚本并定时触发作业|编程一对一教学学员答疑帖

你好,我是悦创。 以下是一对一学员的需求: 开整! 简介 讲一下在 Python 中写好了一个脚本之后,怎么自动双击一个程序自动就跑起来。 以及,怎么在 Windows 10 中设计定期定时触发并跑脚本。 环境介绍 系统环境:Windows 10 Python版本:Python 3.8 必备包:无 运行 Python 脚本:.bat 文件 在 Windows 中,.bat 文件是批处理文件,是与 Linux 中 .sh(shell)文件很像的东西。 如果,我们想在 Windows 中运行一个 Python

AI悦创·编程私教1v1 1505

【图像去噪】论文精读:Restormer: Efficient Transformer for High-Resolution Image Restoration

论文题目:Restormer: Efficient Transformer for High-Resolution Image Restoration —— Restormer:用于高分辨率图像恢复的高效变压器高效Transformer模型用于图像恢复!由于卷积神经网络 (CNN) 在从大规模数据中学习可泛化的图像先验方面表现良好,因此这些模型已广泛应用于图像恢复和相关任务。最近,另一类神经架构 Transformer 在自然语言和高级视觉任务中显示出显着的性能提升。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 1526

Android开发实战班 - Gradle 构建系统入门

Gradle 的历史与发展Gradle 由 Hans Dockter 等人于 2007 年创建,最初用于 Java 项目构建。2013 年,Google 宣布 Android Studio 默认使用 Gradle 作为构建系统。Gradle 支持多语言、多平台,广泛应用于 Android、Java、Kotlin、Groovy 等项目。Gradle 的优势基于 Groovy/Kotlin 的 DSL: 构建脚本使用 Groovy 或 Kotlin 编写,语法简洁灵活。插件化架构。

知道者 1296

VS2019 C# 连接IBM DB2数据库并查询数据表

操作系统:win10 64位 C#:VS2019 数据库:IBM DB2v11.1_win64_expc 其他工具:IBM Data Studio ibm_ds4130_win 步骤一:使用命令行或是IBM DB2工具:Data Studio,创建一个数据库。这里名称为:Student CREATE DATABASE "Student" AUTOMATIC STORAGE YES ...

坚韧与专注 3796

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

系统窗口黑屏疑难问题:aosp14自由窗口界面多次退出黑屏问题

从aosp14开始很多窗口相关的动画都开始使用ShellTransition了,针对自由窗口这块的学习如果是基于aosp14版本的话,可能就会遇到相比aosp13版本上多出一些疑难问题,这些问题有的是必现有的是偶现,今天给各位vip学员们分享一个高概率偶现的疑难问题作业,有给各位学员们增加了一个实战机会。4、退出自由窗口后,桌面又进行点击图库进入自由窗口模式,反复进行若干次操作就可以高概率复现如下现问题。4、对于整个黑屏问题的解决过程中,发现有哪些是比较低效的,对于这块黑屏问题的提效有啥好的建议。

learnframework的博客 498

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

记一次 .NET某工控任务调度系统 卡死分析

这次任务延迟事故在分析过程中还是有相当大的迷惑性,如果你缺乏对状态机的理解以及不知!dumpasync命令的使用,我相信这个问题你很难搞定。

一线码农的专栏 675

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

小鹏车机竞品调研:车机分屏功能的竞品调研和实现方案

可以看到上面的其实也是处于分屏模式,而且分割线在最右侧,左边分屏的区域也是相当于全屏展示着,这个其实和我们三分屏讲解的相关实现,可以把分割线拖动到最右侧,但是这个时候还不退出分屏。1、分屏模式下可以某个分屏task全屏显示,但是这个时候还是分屏模式,分割线显示在边界,可以拖动分割线,重新进入正常比例的分屏。整体难度不大,这里给大家布置小鹏车机分屏给你为学员作业,作业的目标就是实现类似小鹏车机的2个亮点功能既可以。整体调研小鹏车机的分屏功能后,其实整体难度不大,修改难度远比小米su7的三分屏难度要小一些。

learnframework的博客 261
上一篇: 做一做native层面消息实战Looper,Handler,Message
下一篇: 聊一聊binder传递文件fd原理及新版本性能优化
千里马学框架
博客等级 码龄6年 1万+粉丝 650原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值