Android笔试面试题AI答之Activity(2)
答案仅供参考,大部分为文心一言AI作答
目录
- 1. 请介绍一下Activity 生命周期?
- 1. 完全生命周期
- 2. 可见生命周期
- 3. 前台生命周期
- 4. 配置更改
- 5. 特殊场景
- 2. 请介绍一下横竖屏切换时Activity的生命周期变化?
- 1.默认行为(未设置`android:configChanges`)
- 2.设置`android:configChanges`
- 3.使用`onConfigurationChanged(Configuration newConfig)`
- 3. 两个Activity之间跳转时会执行的方法有哪些?
- 1. 发起跳转的Activity(源Activity)
- 2. 目标Activity
- 3. 当目标Activity需要返回数据给源Activity时
- 4. 源Activity接收返回数据
- 4. 如何处理可能被系统回收的后台Activity?
- 1. 理解Activity生命周期
- 2. 使用`onSaveInstanceState(Bundle outState)`保存状态
- 3. 在`onCreate(Bundle savedInstanceState)`或`onRestoreInstanceState(Bundle savedInstanceState)`中恢复状态
- 4. 处理配置更改
- 5. 使用ViewModel和LiveData(对于更复杂的状态管理)
1. 请介绍一下Activity 生命周期?
Activity 的生命周期是 Android 开发中一个非常核心的概念,它定义了 Activity 从创建到销毁的各个阶段。理解 Activity 的生命周期对于编写高效、稳定的 Android 应用至关重要。以下是 Activity 生命周期的详细介绍:
1. 完全生命周期
Activity 的完全生命周期从它被创建开始,到它被销毁结束。这个过程中,Activity 会经历以下关键阶段:
-
onCreate(Bundle savedInstanceState): 当 Activity 第一次被创建时调用。这是初始化 Activity 的好地方,比如设置布局文件、初始化成员变量等。
savedInstanceState
参数包含了 Activity 之前的保存状态(如果有的话),通常用于在配置更改(如屏幕旋转)后恢复 Activity 的状态。 -
onStart(): 当 Activity 对用户可见时调用。此时 Activity 还没有位于前台,无法与用户交互。
-
onResume(): 当 Activity 可见且位于前台、开始与用户交互时调用。此时 Activity 处于运行状态。
-
onPause(): 当 Activity 被其他 Activity 覆盖或部分遮挡、即将失去焦点时调用。这是进行清理工作(如停止动画、停止播放音乐等)的好地方,但通常不会在这里保存持久化数据,因为 Activity 仍然可能会回到前台。
-
onStop(): 当 Activity 完全不可见时调用。如果 Activity 正在被销毁,或者另一个 Activity(无论是新的 Activity 还是之前存在的 Activity)完全覆盖了它,则会发生这种情况。
-
onDestroy(): 当 Activity 被销毁时调用。这是清理资源(如取消注册广播接收器、解绑服务等)的最后机会。
2. 可见生命周期
可见生命周期指的是 Activity 从对用户可见到完全不可见的阶段,包括 onStart()
、onResume()
、onPause()
和 onStop()
方法。
-
onStart() 和 onStop(): 这两个方法标记了 Activity 是否对用户可见。
-
onResume() 和 onPause(): 这两个方法标记了 Activity 是否位于前台并可以与用户交互。
3. 前台生命周期
前台生命周期指的是 Activity 位于前台、用户可以与其交互的阶段,包括 onResume()
和 onPause()
方法。这是 Activity 生命周期中最重要的一部分,因为大多数与用户的交互都发生在这个阶段。
4. 配置更改
当设备配置发生更改(如屏幕旋转)时,默认情况下,当前 Activity 会被销毁并重新创建,以匹配新的配置。但是,你可以通过重写 onSaveInstanceState(Bundle outState)
和 onRestoreInstanceState(Bundle savedInstanceState)
方法来保存和恢复 Activity 的状态,从而避免在配置更改时丢失数据。
5. 特殊场景
-
onRestart(): 当 Activity 从停止状态重新启动时调用。这通常发生在用户返回到之前已停止的 Activity 时。
-
onNewIntent(Intent intent): 当 Activity 已经存在(即已经在任务栈中),并且用户再次通过某种方式(如通过 Intent 启动器)启动它时调用。此时,Activity 的
onCreate()
和onStart()
方法不会被调用,但会调用onNewIntent()
方法,并将新的 Intent 作为参数传递给它。
了解 Activity 的生命周期对于编写能够正确响应各种用户操作和配置更改的 Android 应用至关重要。通过合理利用生命周期的各个阶段,你可以确保你的应用既高效又稳定。
2. 请介绍一下横竖屏切换时Activity的生命周期变化?
在Android中,当设备的屏幕方向(横屏与竖屏)发生变化时,默认情况下,当前Activity会被销毁并重新创建,以适应新的屏幕配置。这个过程中,Activity的生命周期会经历一系列的变化。不过,这个行为可以通过在AndroidManifest.xml中对Activity的android:configChanges
属性进行设置来修改,从而避免Activity的重新创建。
1.默认行为(未设置android:configChanges
)
当屏幕方向变化时,Activity的生命周期变化如下:
- onPause():Activity即将失去焦点,但尚未完全停止。
- onSaveInstanceState(Bundle outState):在Activity即将被销毁之前调用,允许你保存Activity的当前状态。这个状态会在Activity重新创建时通过
onCreate(Bundle savedInstanceState)
或onRestoreInstanceState(Bundle savedInstanceState)
方法恢复。 - onStop():Activity不再可见。
- onDestroy():Activity正在被销毁。
- onCreate(Bundle savedInstanceState):Activity被重新创建。如果之前保存了状态,则
savedInstanceState
参数将包含之前的状态。 - onStart():Activity再次变得可见。
- onResume():Activity回到前台,准备与用户交互。
2.设置android:configChanges
如果你不想在屏幕方向变化时让Activity重新创建,可以在AndroidManifest.xml的<activity>
标签中设置android:configChanges
属性,包括orientation
值。这样,当屏幕方向变化时,Activity将不会销毁并重新创建,而是会调用onConfigurationChanged(Configuration newConfig)
方法。
例如:
<activityandroid:name=".MyActivity"android:configChanges="orientation|keyboardHidden|screenSize">...
</activity>
注意:从Android 3.2(API级别13)开始,screenSize
也必须包含在android:configChanges
中,以确保在屏幕方向变化时Activity不会重新创建。
3.使用onConfigurationChanged(Configuration newConfig)
当设置了android:configChanges
并包含orientation
时,你需要重写onConfigurationChanged(Configuration newConfig)
方法来处理屏幕方向变化。在这个方法中,你可以根据新的配置(如屏幕方向)来更新Activity的布局或资源。
@Override
public void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);// 检查屏幕方向if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {// 现在是横屏} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){// 现在是竖屏}// 更新布局或资源
}
总之,屏幕方向变化时Activity的生命周期变化取决于你是否在AndroidManifest.xml中设置了android:configChanges
属性。未设置时,Activity会经历销毁和重新创建的过程;设置了则只会调用onConfigurationChanged(Configuration newConfig)
方法。
3. 两个Activity之间跳转时会执行的方法有哪些?
两个Activity之间跳转时,会涉及到一系列的方法调用,这些方法主要围绕Activity的生命周期和Intent的使用。以下是两个Activity之间跳转时可能会执行的主要方法:
1. 发起跳转的Activity(源Activity)
- onPause():当Activity即将因为另一个Activity的启动而失去用户焦点时调用。此时,源Activity不再接受用户输入,但系统不会立即销毁它。
- onSaveInstanceState(Bundle outState)(可选):在Activity即将被销毁之前调用,用于保存Activity的当前状态(如用户输入的数据)。这些数据会在Activity重新创建时通过
onCreate(Bundle savedInstanceState)
或onRestoreInstanceState(Bundle savedInstanceState)
方法恢复。然而,如果跳转是通过startActivityForResult()
发起的,并且没有配置android:configChanges
来避免Activity重新创建,那么这个方法在屏幕方向变化导致的Activity重建时也会被调用,但在此处的上下文中,它主要与Activity的保存和恢复状态相关。 - startActivity(Intent intent) 或 startActivityForResult(Intent intent, int requestCode):用于启动目标Activity。如果不需要从目标Activity接收结果,则使用
startActivity(Intent intent)
;如果需要接收结果,则使用startActivityForResult(Intent intent, int requestCode)
,其中requestCode
是一个请求码,用于在onActivityResult(int requestCode, int resultCode, Intent data)
中识别是哪个请求返回了结果。
2. 目标Activity
- onCreate(Bundle savedInstanceState):当Activity第一次被创建时调用。这是初始化Activity的好地方,比如设置布局文件、初始化成员变量等。如果Activity之前被销毁并保存了状态,则
savedInstanceState
参数会包含之前的状态,可以在这里恢复它。 - onStart():当Activity变得可见时调用。
- onResume():当Activity可见且位于前台、开始与用户交互时调用。此时Activity处于运行状态。
3. 当目标Activity需要返回数据给源Activity时
- setResult(int resultCode, Intent data):在目标Activity中,使用此方法设置要返回给源Activity的数据和结果码。
resultCode
是一个整数值,用于标识操作的结果(如Activity.RESULT_OK
或Activity.RESULT_CANCELED
),data
是一个Intent对象,用于携带返回给源Activity的数据。 - finish():在目标Activity中调用此方法以结束当前Activity,并将控制权返回给源Activity。如果源Activity是通过
startActivityForResult()
启动目标Activity的,则源Activity的onActivityResult(int requestCode, int resultCode, Intent data)
方法将被调用,以接收从目标Activity返回的数据和结果码。
4. 源Activity接收返回数据
- onActivityResult(int requestCode, int resultCode, Intent data):在源Activity中重写此方法以接收从目标Activity返回的数据和结果码。
requestCode
用于识别是哪个请求返回了结果,resultCode
是目标Activity通过setResult()
方法设置的结果码,data
是包含返回数据的Intent对象。
需要注意的是,上述方法中的某些(如onSaveInstanceState
)在正常情况下可能不会在简单的Activity跳转过程中被直接调用,除非涉及到Activity的重新创建(如屏幕方向变化或配置更改)。然而,在理解Activity之间跳转的过程中,了解这些方法的存在和它们的作用是很重要的。
4. 如何处理可能被系统回收的后台Activity?
处理可能被系统回收的后台Activity,并确保在被系统回收之前保存当前状态,是Android开发中常见的需求。这主要通过Activity的生命周期方法和onSaveInstanceState(Bundle outState)
回调来实现。以下是一些关键步骤和最佳实践:
1. 理解Activity生命周期
首先,你需要深入理解Activity的生命周期,特别是与Activity被暂停、停止和销毁相关的回调方法。这些方法包括onPause()
、onStop()
和onDestroy()
。然而,需要注意的是,onDestroy()
方法并不总是会被调用,特别是在系统需要回收资源以释放内存时。
2. 使用onSaveInstanceState(Bundle outState)
保存状态
当Activity即将被销毁(由于配置更改或系统需要回收内存)时,系统会调用onSaveInstanceState(Bundle outState)
方法。这是保存Activity状态(如用户输入的数据、滚动位置等)的绝佳机会。你可以在这个方法中将需要保存的数据放入传入的Bundle
对象中。
@Override
protected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);// 保存需要的数据outState.putString("key", "value");// 对于复杂的数据结构,可能需要使用序列化// outState.putSerializable("complexKey", complexObject);
}
3. 在onCreate(Bundle savedInstanceState)
或onRestoreInstanceState(Bundle savedInstanceState)
中恢复状态
当Activity重新创建时(无论是由于配置更改还是系统恢复它),系统会调用onCreate(Bundle savedInstanceState)
方法,并将之前保存的Bundle
对象作为参数传递。你可以在这个方法中检查savedInstanceState
是否为null
,如果不为null
,则从中恢复你的状态。
另外,你也可以选择覆盖onRestoreInstanceState(Bundle savedInstanceState)
方法,它会在onStart()
方法之后被调用,专门用于恢复之前保存的状态。但是,大多数情况下,在onCreate()
中恢复状态就足够了。
@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);if (savedInstanceState != null) {// 恢复状态String value = savedInstanceState.getString("key");// 对于复杂的数据结构,进行反序列化// ComplexObject complexObject = (ComplexObject) savedInstanceState.getSerializable("complexKey");}
}
4. 处理配置更改
有时,Activity可能因为配置更改(如屏幕方向变化)而被销毁和重新创建。如果你不希望Activity因为这些更改而被销毁,可以在AndroidManifest.xml的<activity>
标签中设置android:configChanges
属性,并指定你想要处理的配置更改类型(如orientation|screenSize
)。然后,在Activity中覆盖onConfigurationChanged(Configuration newConfig)
方法来处理配置更改。
但是,请注意,滥用android:configChanges
可能会导致应用难以适应新的设备配置和Android版本。因此,建议仅在你确信需要避免Activity重新创建时才使用它。
5. 使用ViewModel和LiveData(对于更复杂的状态管理)
如果你的应用使用MVVM架构,并且需要更复杂的状态管理,那么使用ViewModel和LiveData可能是一个更好的选择。ViewModel在配置更改和Activity重新创建时保持存活,因此它可以用来存储和恢复数据,而无需担心Activity的生命周期。
综上所述,通过合理利用Activity的生命周期方法、onSaveInstanceState()
和onRestoreInstanceState()
回调,以及(可选地)ViewModel和LiveData,你可以有效地处理可能被系统回收的后台Activity,并在需要时恢复其状态。
相关文章:
Android笔试面试题AI答之Activity(2)
答案仅供参考,大部分为文心一言AI作答 目录 1. 请介绍一下Activity 生命周期?1. 完全生命周期2. 可见生命周期3. 前台生命周期4. 配置更改5. 特殊场景 2. 请介绍一下横竖屏切换时Activity的生命周期变化?1.默认行为(未设置androi…...
来自Transformers的双向编码器表示(BERT) 通俗解释
来自Transformers的双向编码器表示(BERT) 目录 1. 从上下文无关到上下文敏感2. 从特定于任务到不可知任务3. BERT:把两个最好的结合起来4. BERT的输入表示5. 掩蔽语言模型(Masked Language Modeling)6. 下一句预测&am…...
代码随想录第十六天|贪心算法(2)
目录 LeetCode 134. 加油站 LeetCode 135. 分发糖果 LeetCode 860. 柠檬水找零 LeetCode 406. 根据身高重建队列 LeetCode 452. 用最少数量的箭引爆气球 LeetCode 435. 无重叠区间 LeetCode 763. 划分字母区间 LeetCode 56. 合并区间 LeetCode 738. 单调递增的数字 总…...
花几千上万学习Java,真没必要!(二十二)
1、final关键字: 测试代码1: package finaltest.com;public class FinalBasicDemo {public static void main(String[] args) {// final修饰基本数据类型变量final int number 5;// 尝试修改number的值,这将导致编译错误// number 10; // …...
在RK3568上如何烧录MAC?
这里我们用RKDevInfoWriteTool 1.1.4版本 下载地址:https://pan.baidu.com/s/1Y5uNhkyn7D_CjdT98GrlWA?pwdhm30 提 取 码:hm30 烧录过程: 1. 解压RKDevInfoWriteTool_Setup_V1.4_210527.7z 进入解压目录,双击运行RKDevInfo…...
1.30、基于卷积神经网络的手写数字旋转角度预测(matlab)
1、卷积神经网络的手写数字旋转角度预测原理及流程 基于卷积神经网络的手写数字旋转角度预测是一个常见的计算机视觉问题。在这种情况下,我们可以通过构建一个卷积神经网络(Convolutional Neural Network,CNN)来实现该任务。以下…...
Windows如何使用Python的sphinx
在Windows上使用Python的Sphinx进行文档渲染和呈现,可以遵循以下步骤进行操作: 安装Python:首先,确保你的Windows系统上已经安装了Python。你可以从Python的官方网站下载并安装适合你系统(32位或64位&…...
C++ STL nth_element 用法
一:功能 将一个序列分为两组,前一组元素都小于*nth,后一组元素都大于*nth, 并且确保第 nth 个位置就是排序之后所处的位置。即该位置的元素是该序列中第nth小的数。 二:用法 #include <vector> #include <a…...
【PostgreSQL教程】PostgreSQL 选择数据库
博主介绍:✌全网粉丝20W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…...
C# —— HashTable
集合collections命名空间,专门进行一系列的数据存储和检索的类,主要包含了:堆栈、和队列、list、ArrayList、数组 HashTable 字典 storeList 排序列表等类 Array 数组 长度固定, 类型固定 通过索引值来进行访问 ArrayList动态数组,…...
LeetCode 第407场周赛个人题解
目录 100372. 使两个整数相等的位更改次数 原题链接 思路分析 AC代码 100335. 字符串元音游戏 原题链接 思路分析 AC代码 100360. 将 1 移动到末尾的最大操作次数 原题链接 思路分析 AC代码 100329. 使数组等于目标数组所需的最少操作次数 原题链接 思路分析 A…...
使用Django框架实现音频上传功能
数据库设计(models.py) class Music(models.Model):""" 音乐 """name models.CharField(verbose_name"音乐名字", max_length32)singer models.CharField(verbose_name"歌手", max_length32)# 本质…...
[路由器]IP-MAC的绑定与取消
背景:当公司的网络不想与外部人员进行共享,可以在路由器页面配置IP-MAC的绑定,让公司内部人员的手机和电脑的mac,才能接入到公司。第一步:在ARP防护中,启动IP-MAC绑定选项,必须启动仅允许IP-MAC…...
Idea配置远程开发
Idea配置远程开发 本篇博客介绍使用idea通过ssh连接ubuntu服务器进行开发 目录 Idea配置远程开发1.idae上点击file->Remote Development2.点击New Connection3.填写相关信息4.输入密码5.选择IDE版本和项目路径5.1 点击open an SSH terminal打开控制台5.2 依次执行命令 6.成…...
lua 实现 函数 判断两个时间戳是否在同一天
函数用于判断两个时间戳是否在同一天。下面是对代码的详细解释: ### 函数参数 - stampA 和 stampB:两个时间戳,用于比较。- resetInfo:一个可选参数,包含小时、分钟和秒数,用于调整时间戳。 ### 函数实现…...
工作纪实53-log4j日志打印文件隔离
在项目中,我有一堆业务日志需要打印,另一部分的日志,是没有格式的,需要被云平台离线解析并收集到kafka或者hdfs、hive等,需要将日志隔离打印到不同的文件 正常的log4j配置是下面这样的,配合Sl4j直接使用默认…...
7月21日,贪心练习
大家好呀,今天带来一些贪心算法的应用解题、 一,柠檬水找零 . - 力扣(LeetCode) 解析: 本题的贪心体现在对于20美元的处理上,我们总是优先把功能较少的10元作为找零,这样可以让5元用处更大 …...
FPGA DNA 获取 DNA_PORT
FPGA DNA DNA 是 FPGA 芯片的唯一标识, FPGA 都有一个独特的 ID ,也就是 Device DNA ,这个 ID 相当于我们的身份证,在 FPGA 芯片生产的时候就已经固定在芯片的 eFuse 寄存器中,具有不可修改的属性。在 xilinx 7series…...
使用 hutool工具实现导入导出功能。
hutool工具网址 Hutool参考文档 pom依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.20</version></dependency><dependency><groupId>org.apache.poi</gro…...
大语言模型-Transformer-Attention Is All You Need
一、背景信息: Transformer是一种由谷歌在2017年提出的深度学习模型。 主要用于自然语言处理(NLP)任务,特别是序列到序列(Sequence-to-Sequence)的学习问题,如机器翻译、文本生成等。Transfor…...
spring(二)
一、为对象类型属性赋值 方式一:(引用外部bean) 1.创建班级类Clazz package com.spring.beanpublic class Clazz {private Integer clazzId;private String clazzName;public Integer getClazzId() {return clazzId;}public void setClazzId(Integer clazzId) {th…...
MAC 数据恢复软件: STELLAR Data Recovery For MAC V. 12.1 更多增强功能
天津鸿萌科贸发展有限公司是 Stellar 系列软件的授权代理商。 STELLAR Data Recovery For MAC 该数据恢复软件可从任何存储驱动器、清空的回收站以及崩溃或无法启动的 Mac 设备中恢复丢失或删除的文件。 轻松恢复已删除的文档、照片、音频文件和视频。自定义扫描以帮助恢复特…...
初识godot游戏引擎并安装
简介 Godot是一款自由开源、由社区驱动的2D和3D游戏引擎。游戏开发虽复杂,却蕴含一定的通用规律,正是为了简化这些通用化的工作,游戏引擎应运而生。Godot引擎作为一款功能丰富的跨平台游戏引擎,通过统一的界面支持创建2D和3D游戏。…...
Windows配置Qt+VLC
文章目录 前言下载库文件提取文件编写qmakeqtvlc测试代码 总结 前言 在Windows平台上配置Qt和VLC是开发多媒体应用程序的一个重要步骤。Qt作为一个强大的跨平台应用开发框架,为开发人员提供了丰富的GUI工具和库,而VLC则是一个开源的多媒体播放器&#x…...
本地部署 mistralai/Mistral-Nemo-Instruct-2407
本地部署 mistralai/Mistral-Nemo-Instruct-2407 1. 创建虚拟环境2. 安装 fschat3. 安装 transformers4. 安装 flash-attn5. 安装 pytorch6. 启动 controller7. 启动 mistralai/Mistral-Nemo-Instruct-24078. 启动 api9. 访问 mistralai/Mistral-Nemo-Instruct-2407 1. 创建虚拟…...
2月科研——arcgis计算植被差异
ArcGIS中,设置高于或低于某个值的像元为 -9999,然后将这些地方设为空——目的:去除异常值和黑色背景值 Con(("T_std ano7.tif" > 2) | ("T_std ano7.tif" < - 2), - 9999,"T_std ano7.tif") SetNull(&…...
深入理解Android中的缓存与文件存储目录
🌟 引言 在Android应用开发中,合理管理应用的数据存储至关重要。应用可能需要保存各种类型的数据,从简单的配置信息到多媒体文件,甚至是缓存数据以提高性能和用户体验。Android提供了多个内置目录来满足这些需求,但它…...
Linux_生产消费者模型
目录 1、生产消费者模型示意图 2、生产者消费者之间的关系 3、定义交易场所 4、实现生产消费者模型 5、伪唤醒 6、多生产多消费者的实际运用 7、POSIX信号量 7.1 初始化信号量 7.2 销毁信号量 7.3 等待信号量 7.4 发布信号量 8、生产消费的环形队列模型 8.1…...
【Vue】`v-if` 指令详解:条件渲染的高效实现
文章目录 一、v-if 指令概述二、v-if 的基本用法1. 基本用法2. 使用 v-else3. 使用 v-else-if 三、v-if 指令的高级用法1. 与 v-for 一起使用2. v-if 的性能优化 四、v-if 的常见应用场景1. 表单验证2. 弹窗控制 五、v-if 指令的注意事项 Vue.js 是一个用于构建用户界面的渐进式…...
junit mockito Base基类
编写单元测试时我们都习惯性减少重复代码 以下基于spring mvc框架,需要手动pom导包 BaseTest类用于启动上下文进行debug调试 MockBaseTset类用于不启动上下文进行打桩mock pom.xml <dependency><groupId>org.mockito</groupId><artifactId…...
上海 企业 网站建设/优化方案的格式及范文
资源下载地址:https://download.csdn.net/download/sheziqiong/85637678 企业搜索系统的设计与实现 1 实验目的 本次实验目的是对企业有所系统的设计与实现过程有一个全面的了解。 本次实验设计的内容包括: 对数据建立索引,实现文档的搜索…...
响应式网站的概念/微信营销软件哪个好用
做silvelight也有一段时间了,相册、游戏,刚刚完成的showcase这个小程序算是一个阶段了。这里就以showcase这个项目来做一下CaseStudy。 数据篇-Loading的制作 silverlight自带了一个loading。但是由于界面的需求可能需要定制化一下。这里我的思路是做两个…...
wordpress 在线课程/真正免费建站
基于webstorm的ESlint检查错误:TypeError: this.cliEngineCtor is not a constructor 网上有很多解决办法都是【过时的】基于ESlint在不断升级,请降级ESlint版本即可 【此版本ESlint6.7.2不会报错】 选择ESlint版本最好的方式就是使用 Vue-cli脚手架创建一个Vue3的…...
邯郸做外卖网站的公司/百度发布信息怎么弄
安装redis入门redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...git提交远程仓库命令在已有的git库中搭建新库,并且将本地的git仓库,上传到远程服务器的git库中,从而开始一个新的项目 首先,在本地新建文件夹a…...
注册安全工程师报名入口官网/网络优化的流程
一、什么是微服务 微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小…...
微信公众号登录wordpress网站吗/怎么建立信息网站平台
【小白从小学Python、C、Java】 【Python-计算机等级考试二级】 【Python-数据分析】 Python数据分析 数据拷贝与备份 直接赋值、copy()与deepcopy()区别 以下python代码输出什么? import copy origin [1, [3, 4]] cop1 copy.copy(origin) cop2 copy.deepcopy(origin)…...