Android Framework (五)—input子系统

auther:  朱红喜 
date:    2020-10-18
version: android 8.1

Android Framework input子系统分析一 事件处理的起点
Android Framework input子系统分析二 服务端之事件收集者EventHub
Android Framework input子系统分析三 服务端之事件解析者InputReader
Android Framework input子系统分析四 服务端之事件分发者InputDispatcher
Android Framework input子系统分析四 应用端事件处理

一、目的
本章只要学习Android的输入事件处理机制,了解系统处理输入事件的流程。

二、分析

  • 系统处理输入事件的起点当然也要从开机流程后启动相应的系统任务开始,这个系统任务就是InputManagerService,启动时机:SystemServer->main()->run()->startOtherService()
frameworks/base/services/java/com/android/server/SystemServer.javaprivate void startOtherServices() {InputManagerService inputManager = null;....traceBeginAndSlog("StartInputManagerService");inputManager = new InputManagerService(context);traceEnd();.....}

starOtherService()方法中实例化了InputManagerService服务,调用了它的构造方法

  • InputManagerService 构造方法
frameworks\base\services\core\java\com\android\server\input\InputManagerService.java// Pointer to native input manager service object. 接收native层的 input manager 对象serviceprivate final long mPtr;public InputManagerService(Context context) {this.mContext = context;this.mHandler = new InputManagerHandler(DisplayThread.get().getLooper());mUseDevInputEventForAudioJack =context.getResources().getBoolean(R.bool.config_useDevInputEventForAudioJack);Slog.i(TAG, "Initializing input manager, mUseDevInputEventForAudioJack="+ mUseDevInputEventForAudioJack);mPtr = nativeInit(this, mContext, mHandler.getLooper().getQueue());String doubleTouchGestureEnablePath = context.getResources().getString(R.string.config_doubleTouchGestureEnableFile);mDoubleTouchGestureEnableFile = TextUtils.isEmpty(doubleTouchGestureEnablePath) ? null :new File(doubleTouchGestureEnablePath);LocalServices.addService(InputManagerInternal.class, new LocalService());}

InputManagerService的构造方法中,它调用了一个 本地方法nativeInit,这个方法会在JNI层实现

  • nativeInit方法的JNI层实现
frameworks\base\services\core\jni\com_android_server_input_InputManagerService.cppstatic jlong nativeInit(JNIEnv* env, jclass /* clazz */,jobject serviceObj, jobject contextObj, jobject messageQueueObj) {sp<MessageQueue> messageQueue = android_os_MessageQueue_getMessageQueue(env, messageQueueObj);if (messageQueue == NULL) {jniThrowRuntimeException(env, "MessageQueue is not initialized.");return 0;}NativeInputManager* im = new NativeInputManager(contextObj, serviceObj,messageQueue->getLooper());im->incStrong(0);return reinterpret_cast<jlong>(im);
}

这个方法主要是:

  1. java层传入的MessageQueuenative层的messageQueue 关联起来,
  2. 实例化nativeNativeInputManager实例,把这个实例引用返回保留在Java层的mPtr中。
  • NativeInputManager的构造方法
frameworks\base\services\core\jni\com_android_server_input_InputManagerService.cppNativeInputManager::NativeInputManager(jobject contextObj,jobject serviceObj, const sp<Looper>& looper) :mLooper(looper), mInteractive(true) {JNIEnv* env = jniEnv();mContextObj = env->NewGlobalRef(contextObj);mServiceObj = env->NewGlobalRef(serviceObj);{AutoMutex _l(mLock);mLocked.systemUiVisibility = ASYSTEM_UI_VISIBILITY_STATUS_BAR_VISIBLE;mLocked.pointerSpeed = 0;mLocked.pointerGesturesEnabled = true;mLocked.showTouches = false;mLocked.pointerCapture = false;}mInteractive = true;sp<EventHub> eventHub = new EventHub();mInputManager = new InputManager(eventHub, this, this);
}

NativeInputManager的构造方法中主要是 new了一个EventHub 对象和一个InputManager 对象。1. EventHub会用来收集底层上传的input事件,包括:触摸,物理按键输入(音量键、Power键等),外接键盘,遥控器,扫描枪等;
2. InputManager 主要是用来创建InputReaderInputDispatcher,前者负责处理解析EventHub 收集上来的input事件,后者负责分发input事件

  • InputManager的构造方法
frameworks\native\services\inputflinger\InputManager.cppInputManager::InputManager(const sp<EventHubInterface>& eventHub,const sp<InputReaderPolicyInterface>& readerPolicy,const sp<InputDispatcherPolicyInterface>& dispatcherPolicy) {mDispatcher = new InputDispatcher(dispatcherPolicy);mReader = new InputReader(eventHub, readerPolicy, mDispatcher);initialize();
}

InputManager的构造方法里主要是创建InputReaderInputDispatcher,同时还调用了initialize()方法,往下看它都做了啥

frameworks\native\services\inputflinger\InputManager.cppvoid InputManager::initialize() {mReaderThread = new InputReaderThread(mReader);mDispatcherThread = new InputDispatcherThread(mDispatcher);
}

initialize方法里主要是开了两个线程,InputReaderThread作为专门读取解析EvenHub收集到input事件的线程,InputDispatcherThread主要是向上分发input事件,input事件最终会被WindowManagerService,创建视图窗口时添加到对应窗口并消费掉,值得注意的是这两个线程在这里只是创建,并没有运行,那会在哪里启动这两个线程呢?

  • 回到刚开始的地方,在SystemServer->startOtherServices()->start()中启动
frameworks/base/services/java/com/android/server/SystemServer.javaprivate void startOtherServices() {InputManagerService inputManager = null;....traceBeginAndSlog("StartInputManagerService");inputManager = new InputManagerService(context);traceEnd();....traceBeginAndSlog("StartInputManager");inputManager.setWindowManagerCallbacks(wm.getInputMonitor());inputManager.start();traceEnd();....}

通过 inputManager.start();启动,往下看实现

frameworks\base\services\core\java\com\android\server\input\InputManagerService.javapublic void start() {Slog.i(TAG, "Starting input manager");nativeStart(mPtr);// Add ourself to the Watchdog monitors.Watchdog.getInstance().addMonitor(this);registerPointerSpeedSettingObserver();registerShowTouchesSettingObserver();registerAccessibilityLargePointerSettingObserver();mContext.registerReceiver(new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) {updatePointerSpeedFromSettings();updateShowTouchesFromSettings();updateAccessibilityLargePointerFromSettings();}}, new IntentFilter(Intent.ACTION_USER_SWITCHED), null, mHandler);updatePointerSpeedFromSettings();updateShowTouchesFromSettings();updateAccessibilityLargePointerFromSettings();}

start()方法里通过调用nativeStart(mPtr);nativeStart(mPtr);是一个本地方法,那么这个方法也是JNI层实现,值得注意的是这个方法传入的参数,就是前面提到的,NativeInputManager返回到java层的指针(保存为long类型),通过这个mPtr就可以拿到对应的native层的同一NativeInputManager指针

frameworks\base\services\core\jni\com_android_server_input_InputManagerService.cppstatic void nativeStart(JNIEnv* env, jclass /* clazz */, jlong ptr) {NativeInputManager* im = reinterpret_cast<NativeInputManager*>(ptr); //通过前面返回mPtr重新得到对应同一个指针status_t result = im->getInputManager()->start();if (result) {jniThrowRuntimeException(env, "Input manager could not be started.");}
}

回复出同一个对应的NativeInputManager 指针获得InputManager实例,并调用它的start()方法启动线程

frameworks\native\services\inputflinger\InputManager.cppstatus_t InputManager::start() {status_t result = mDispatcherThread->run("InputDispatcher", PRIORITY_URGENT_DISPLAY);if (result) {ALOGE("Could not start InputDispatcher thread due to error %d.", result);return result;}result = mReaderThread->run("InputReader", PRIORITY_URGENT_DISPLAY);if (result) {ALOGE("Could not start InputReader thread due to error %d.", result);mDispatcherThread->requestExit();return result;}return OK;
}

分别启动两个线程,具体线程内部干了什么,后面的章节会继续分析

三、总结

  • 框图走一波

粗略框图

总结:通过InputManagerService,启动了三个角色:EventHubInputReaderInputDispatcherEventHub负责收集底层驱动的input事件,InputReader负责解析读取EventHub收集的事件信息并发给InputDispatcherInputDispatcher负责将这个事件分发到上层。

四、参考文章

说是参考实际是跟着走了一遍,自己加深下印象,哈哈
https://blog.csdn.net/Invoker123/article/details/77846004

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 关于刷机个人的一些总结

    刷机总结 只是对于自己刷机过程中的一个总结&#xff0c;免得以后再次刷机的时候到处东奔西走找各种资源 rom和rec是两个系统&#xff01;&#xff01;&#xff01; rom和rec是两个系统&#xff01;&#xff01;&#xff01; rom和rec是两个系统&#xff01;&#xff01;&…...

    2024/4/24 21:53:10
  2. mac版VMWare的vmnet8默认网关和ip配置

    sudo vim /Library/Preferences/VMware\ Fusion/networking“vmnet8默认网关”配置文件 sudo vim /Library/Preferences/VMware\ Fusion/vmnet8/nat.confcentos6配置 vi /etc/udev/rules.d/70-persistent-net.rules,删除eth0有关内容&#xff0c;修改eth1为eth0, vim /etc/s…...

    2024/4/6 9:12:39
  3. 假如你想学习亚马逊测评

    假如你想做亚马逊测评你需要注意。 一定要有稳定的IP以及环境&#xff0c;没有&#xff1f;那就做好账号大量被封的可能性。 一定要有稳定的中介或者商家单&#xff0c;没有&#xff1f;那就做好接不到单或者被黑的准备。 一定要有靠谱点的卡商&#xff0c;没有&#xff1f;那就…...

    2024/4/23 16:09:36
  4. 贺齐龙2020-10-18作业

    ...

    2024/4/22 3:52:31
  5. 英语学习心得之一

    选择学英语&#xff0c;最初需要一份勇气&#xff0c;因为在每个忙碌的一天&#xff0c;需要付出更多的时间精力&#xff0c;但是自己依然是坚定地选择了&#xff0c;带着一份好奇与期待。因为内心十分相信米老师&#xff0c;想要珍惜这一次学习的机会。最开始是学习音标&#…...

    2024/4/17 18:05:06
  6. 铃声制作-用户隐私政策协议

    手机铃声隐私政策 手机铃声&#xff08;以下称“我们”&#xff09;非常重视保护用户&#xff08;以下称“您”&#xff09;个人信息。在您使用手机铃声的服务时&#xff0c;我们将按照《手机铃声隐私政策》&#xff08;以下简称“本文”&#xff09;收集和使用您的个人信息。您…...

    2024/4/20 4:30:14
  7. Markdown从入门到精通(+软件推荐)

    总览 几乎所有 Markdown 应用程序都支持 John Gruber 原始设计文档中列出的 Markdown 基本语法。但是&#xff0c;Markdown 处理程序之间存在着细微的变化和差异&#xff0c;我们都会尽可能标记出来。 标题&#xff08;Headings&#xff09; 要创建标题&#xff0c;请在单词…...

    2024/4/29 23:23:06
  8. box-shadow的使用

    基础说明&#xff1a; 外阴影&#xff1a;box-shadow: X轴 Y轴 Rpx color; 属性说明&#xff08;顺序依次对应&#xff09;&#xff1a; 阴影的X轴(可以使用负值) 阴影的Y轴(可以使用负值) 阴影模糊值&#xff08;大小&#xff09; 阴影的颜色内阴影&#xff1a;box-…...

    2024/4/30 8:59:31
  9. 041-CSS3 过渡

    1. 通过CSS3, 我们可以在不使用Flash动画或JavaScript的情况下, 当元素从一种样式变换为另一种样式时为元素添加效果。 2. 过渡属性 3. CSS3 transition属性 3.1. transition 属性是一个简写属性, 用于设置四个过渡属性: transition-property transition-duration transit…...

    2024/5/2 0:16:48
  10. 数据包题:capture3.pcap

    Wireshark数据包分析(capture3.pcap) 1.使用Wireshark查看并分析PYsystem20191桌面下的capture3.pcap数据包文件,找出黑客登录被攻击服务器网站后台使用的账号密码,并将黑客使用的账号密码作为Flag值(用户名与密码之间以英文逗号分隔,例如:root,toor)提交; flag:admi…...

    2024/5/1 12:04:54
  11. py-b7赛题解析

    py-b7赛题解析 Linux操作系统信息收集Linux服务信息收集网络协议渗透测试网络协议加固Linux操作系统信息收集 There’s nothing to parse...

    2024/5/4 13:09:41
  12. AI PRO I 第4章 译文 Behavior Selection Algorithms An Overview

    Behavior Selection AlgorithmsAn OverviewMichael Dawe, Steve Gargolinski, Luke Dicken,Troy Humphreys, and Dave Mark翻译&#xff1a;TraceYang&#xff0c;钱康来4.1 介绍 当家用机玩家对他们购买的游戏要求更高的时候&#xff0c;为游戏编写AI系统变得越来越难了。同时…...

    2024/4/20 23:03:45
  13. mac安装virtualbox,新建centos6并且配置nat的静态Ip,复制多个虚拟机

    文章目录1 mac 中安装virtualbox2 新建虚拟机3 配置静态网络4 复制虚拟机4.1 复制4.2 配置网络1 mac 中安装virtualbox 进入到官网 https://www.virtualbox.org/ 下载 选择OS X hosts 2 新建虚拟机 填写名称 磁盘 3 选择启动的iso文件 提前下载好&#xff1a; 下载地址…...

    2024/5/4 0:29:11
  14. hdfs的API操作

    1.1 配置Windows下Hadoop环境 在windows系统需要配置hadoop运行环境&#xff0c;否则直接运行代码会出现以下问题: 缺少winutils.exe Could not locate executable null \bin\winutils.exe in the hadoop binaries 缺少hadoop.dll Unable to load native-hadoop library fo…...

    2024/4/19 22:13:52
  15. 2020年P气瓶充装免费试题及P气瓶充装模拟考试题库

    题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2020年P气瓶充装免费试题及P气瓶充装模拟考试题库&#xff0c;包含P气瓶充装免费试题答案和解析及P气瓶充装模拟考试题库练习。由安全生产模拟考试一点通公众号结合国家P气瓶充装考试最新大纲及P气瓶充装考试真题汇总…...

    2024/5/2 3:15:04
  16. Linux加密框架的应用示例(一)

    准备工作 说明 本节将从应用角度说明加密框架的运行流程&#xff0c;包括加密框架如何管理算法、如何动态创建算法&#xff0c;应用模块如何创建算法实例、如何通过算法实例调用算法接口等。 本节中加密框架的应用模块以IPSEC模块&#xff08;XFRM框架&#xff09;为例&#…...

    2024/4/18 14:12:11
  17. 转:微服务架构:BFF和网关是如何演化出来的?(这篇文章相当棒)

    转自&#xff1a; https://juejin.im/entry/6844903806208049159 这篇文章写得非常棒&#xff0c;从服务&#xff0c;到bff&#xff0c; 到gateway 的一步步演化&#xff0c;描述的非常清晰易懂。 1、介绍 BFF(Backend for Frontend)和网关Gateway是微服务架构中的两个重要概…...

    2024/5/2 12:02:45
  18. C# RPC高性能微框架

    大家好&#xff0c;我是若汝棋茗&#xff0c;今天这个专题是关于RPC的&#xff0c;那么大家要问了&#xff0c;什么是RPC呢&#xff0c;顾名思义…没什么好顾名的&#xff0c;TM的是缩写。。。。 其实呢&#xff0c;RPC就是远程过程调用协议&#xff08;Remote Procedure Call …...

    2024/4/18 23:21:59
  19. CVE-2020-0796 SMBv3漏洞

    1.扫描主机是否存在漏 扫描py文件链接&#xff1a;https://github.com/ollypwn/SMBGhost 2.下载可利用的POC poc地址&#xff1a;https://github.com/chompie1337/SMBGhost_RCE_PoC 3.在kali里使用msfvenom生成shell&#xff0c;lhost是攻击机ip msfvenom -p windows/x64/met…...

    2024/4/28 19:47:07
  20. Android开发秋招求职之路

    Android开发秋招学习之路一、心路历程1.1 为什么要选择Android?二、 学习之路2.1 学习过程2.1.1 Android入门2.1.2 Java学习2.1.3 秋招准备三、秋招投递之路四、结尾一、心路历程 1.1 为什么要选择Android? 机缘巧合兴趣。本科学习单片机过程中以及毕业设计&#xff0c;使用…...

    2024/4/24 20:17:07

最新文章

  1. 10G MAC层设计系列-(4)MAC TX模块

    一、前言 MAC TX模块就是要将IP层传输过来的数据封装前导码、MAC地址、帧类型以及进行CRC校验&#xff0c;并与CRC值一块组成以太网帧。 二、模块设计 首先对输入的数据进行缓存&#xff0c;原因是在之后要进行封装MAC帧头&#xff0c;所以需要控制数据流的流动 FIFO_DATA_6…...

    2024/5/5 11:07:49
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 数据结构——二叉树——二叉搜索树(Binary Search Tree, BST)

    目录 一、98. 验证二叉搜索树 二、96. 不同的二叉搜索树 三、538. 把二叉搜索树转换为累加树 二叉搜索树&#xff1a;对于二叉搜索树中的每个结点&#xff0c;其左子结点的值小于该结点的值&#xff0c;而右子结点的值大于该结点的值 一、98. 验证二叉搜索树 给你一个二叉树的…...

    2024/5/4 11:44:28
  4. 流域生态系统水-碳-氮耦合过程模拟

    流域是一个相对独立的自然地理单元&#xff0c;它是以水系为纽带&#xff0c;将系统内各自然地理要素连结成一个不可分割的整体。碳和氮是陆地生态系统中最重要的两种化学元素&#xff0c;而在流域系统内&#xff0c;水-碳-氮是相互联动、不可分割的耦合体。随着流域内人类活动…...

    2024/5/5 8:45:42
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/4 12:05:22
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/4 11:23:32
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/4 14:46:16
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/4 23:54:44
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/4 12:10:13
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/4 23:54:49
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/4 23:54:44
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/4 14:46:12
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/4 14:46:11
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/4 14:46:11
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/5 2:25:33
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/4 21:24:42
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/4 12:39:12
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/4 13:16:06
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/4 16:48:41
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/4 14:46:05
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/5 3:37:58
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/4 23:54:30
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/4 9:07:39
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/4 14:46:02
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57