精华内容
下载资源
问答
  • Activity启动模式singleTask的理解
    千次阅读
    2020-10-26 16:51:01

    1. Activity启动模式singleTask的理解

    2. Task与Activity栈

    Task是一些Activity的集合,以Activity栈的形式存放。因此,Task是概念上的,Activity栈是实体上的。

    可以说,新启动了一个Task就是新建了一个Activity栈,来存放这个Task内的Activity。

    3. singleTask设置方式

    • manifest文件
      在activity节点里添加属性:
    <activity
        android:name="com.example.test.SecondActivity"
        android:launchMode="singleTask"
    />
    
    
    • intent设置FLAG
    Intent intent = new Intent(this, SecondActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
    

    4. singleTask的意义(作用)

    把一个activity启动模式设置为为singleTask,只是意味着framework在启动该activity时把它标识为可在一个新任务中启动,至于是否在一个新任务中启动,那可不一定了!是需要条件的,什么条件呢?请看下文分解~

    4.1. 举例说明

    4.2. 例子1

    假设下面的跳转关系:

    MainActivity -> SecondeActivity -> ThirdActivity

    其中,SecondeActivity被设置了singleTask的启动模式,MainActivity和ThirdActivity都不做任何操作,保持默认,即standard模式

    那么跳到ThirdActivity后,当前的Activity栈情况从顶到底部是:

    ThirdActivity、SecondeActivity、MainActivity

    也就是说依然按照正常压栈的顺序,和standard模式一样。并不是按照谷歌官方解释的,容易误解为新建了一个Task,并用新的栈存放SecondeActivity。这是误解。

    那么,真的和standard模式一样吗?

    还是有不同的,不然弄这个模式干嘛。

    不同之处,用下面的例子说明:

    4.3. 例子2

    假设下面的跳转关系:

    MainActivity -> SecondeActivity -> ThirdActivity -> ForthActivity ->SecondeActivity

    其中,SecondeActivity被设置了singleTask的启动模式,其余Activity都不做任何操作,保持默认,即standard模式

    那么跳到SecondeActivity后,当前的Activity栈情况从顶到底部是:

    SecondeActivity、MainActivity

    没错,SecondeActivity以上的 ThirdActivity、ForthActivity都被销毁了。

    也就是说,重用了栈里面已有的 SecondeActivity ,并且把它上面的 activity 都清除了,从而使得它暴露在最上面。

    顺便说一下,最后一个SecondeActivity的启动没有调用onCreate,而是依次调用了onRestart、onStart、onNewIntent、onResume这些生命周期方法。

    4.4. 小结

    被标记为singleTask的Activity,在启动的时候如果当前没有实例,就和standard模式一样,直接压栈到当前activity上;如果已经有实例了,就把该目标Activity实例上面的activity都清除,从而将目标Activity暴露到最上面,调用了其onNewIntent方法

    5. taskAffinity属性

    上面的两个例子都在我们认知范围内,还比较熟悉。但是这个taskAffinity想必就不太熟悉了。

    taskAffinity是标记当前activity附属到哪个task上的。

    5.1. 配置方式

    • manifest文件里
      在activty节点里配置该属性即可。taskAffinity取值是一个字符串,用来唯一标识一个Task的。

    默认情况下,也就是不配置,taskAffinity取的是应用的包名。

     <activity android:name="com.example.test.SecondActivity"
                 android:launchMode="singleTask"
                 android:taskAffinity="com.example.test.second">
            </activity>
    

    5.2. 意义(作用)

    配合singleTask使用,意味着被这两个属性标记的activity可以被指定到一个新的task里。

    5.3. 举例

    假设下面的跳转关系:

    MainActivity -> SecondeActivity -> ThirdActivity

    其中,SecondeActivity被设置了singleTask的启动模式,并且配置了taskAffinity属性,MainActivity和ThirdActivity都不做任何操作,保持默认,即standard模式

    那么跳到ThirdActivity后,当前的Activity栈情况从顶到底部是:

    Task1: ThirdActivity、MainActivity

    Task2: SecondeActivity

    可以看到,SecondeActivity被创建到了新的栈里。

    于是,可以得出之前疑问的答案,什么条件下设置为singleTask的activity会被创建到新的task呢?

    答案是,同时被指定了另一个taskAffinity属性值的时候。

    5.4. 回退顺序

    现在处于onResume的activity是ThirdActivity,如果这时候按返回键呢?activity的显示顺序会是什么样呢?

    答案正如上面Task1、Task2栈的排列顺序,ThirdActivity弹出后,MainActivity显示;再按返回键,MainActivity弹出后,SecondeActivity显示。

    可以看出,新建的Task处于下方。

    5.5. 总结

    1. 把启动模式设置为singleTask,framework在启动该activity时只会把它标示为可在一个新任务中启动,至于是否在一个新任务中启动,还要受其他条件的限制,这个条件就是taskAffinity属性配置为不同于包名的其他字符串。如果没有配置,默认就是当前包名,在当前Task内操作。
    2. 在启动一个singleTask的Activity实例时,如果系统中已经存在这样一个实例,就会将这个实例调度到任务栈的栈顶,并清除它当前所在任务中位于它上面的所有的activity。
      如果不存在,就看taskAffinity属性对应的Task是否存在,如果存在,就把Activity压入该Task内栈里;否则,就新建一个Task,再把Activity压入该Task内栈里。
    3. singeTask模式保证了在一个Task内只有一个activity实例

    参考文章:https://blog.csdn.net/zhangjg_blog/article/details/10923643

    更多相关内容
  • 细谈Activity四种启动模式

    万次阅读 多人点赞 2018-06-06 17:04:32
     在正式的介绍Activity的启动模式之前,我们首先要了解一些旁边的知识,这些知识如果说模糊不清,那么在讨论启动模式的时候会一头雾水(笔者亲身感悟)。 1.一个应用程序通常会有多个Activity,这些Activity都有一...

        嗨大家好,又和大家见面了,上一次我们一起搞清楚了Handler的源码机制(现在回想起来是不是感觉也就那么回事,当时看的头皮发麻-。+!!),今天我们谈一谈我们在Android开发中必不可缺少的一个组件——Activity:

        Activity作为四大组件之一,也可以说是四大组件中最重要的一个组件,它负责App的视图,还负责用户交互,而且有时候还经常其他组件绑定使用,可以说非常的重要。

        虽然说我们天天都在使用Activity,但是你真的对Activity的生命机制烂熟于心,完全了解了吗?的确,Activity的生命周期方法只有七个(自己数-。+),但是其实那只是最平常的情况,或者说是默认的情况。也就是说在其他情况下,Activity的生命周期可能不会是按照我们以前所知道的流程,这就要说到我们今天的重点了——Activity的启动模式:我们的Activity会根据自身不同的启动模式,自身的生命周期方法会进行不同的调用。

    一、在将启动模式之前必须了解的一些知识:

        在正式的介绍Activity的启动模式之前,我们首先要了解一些旁边的知识,这些知识如果说模糊不清,那么在讨论启动模式的时候会一头雾水(笔者亲身感悟)。

    1.一个应用程序通常会有多个Activity,这些Activity都有一个对应的action(如MainActivity的action),我们可以通过action来启动对应Activity(隐式启动)。

    <action android:name="android.intent.action.MAIN" />

    2.一个应用程序可以说由一系列组件组成,这些组件以进程为载体,相互协作实现App功能。

    3.任务栈(Task Stack)或者叫退回栈(Back Stack)介绍:

    3.1.任务栈用来存放用户开启的Activity。

    3.2.在应用程序创建之初,系统会默认分配给其一个任务栈(默认一个),并存储根Activity。

    3.3.同一个Task Stack,只要不在栈顶,就是onStop状态:


    3.4.任务栈的id自增长型,是Integer类型。

    3.5.新创建Activity会被压入栈顶。点击back会将栈顶Activity弹出,并产生新的栈顶元素作为显示界面(onResume状态)。

    3.6.当Task最后一个Activity被销毁时,对应的应用程序被关闭,清除Task栈,但是还会保留应用程序进程(狂点Back退出到Home界面后点击Menu会发现还有这个App的框框。个人理解应该是这个意思),再次点击进入应用会创建新的Task栈。

    4.Activity的affinity:

    4.1.affinity是Activity内的一个属性(在ManiFest中对应属性为taskAffinity)。默认情况下,拥有相同affinity的Activity属于同一个Task中。

    4.2.Task也有affinity属性,它的affinity属性由根Activity(创建Task时第一个被压入栈的Activity)决定。

    4.3.在默认情况下(我们什么都不设置),所有的Activity的affinity都从Application继承。也就是说Application同样有taskAffinity属性。

    <application
            android:taskAffinity="gf.zy"

    4.4.Application默认的affinity属性为Manifest的包名。


    暂时就是这么多了,如果还有不妥的地方我会补充的。接下来我们来正式看Activity的启动模式:

    二、Activity启动模式:

    1.默认启动模式standard:

        该模式可以被设定,不在manifest设定时候,Activity的默认模式就是standard。在该模式下,启动的Activity会依照启动顺序被依次压入Task中:


    上面这张图讲的已经很清楚了,我想应该不用做什么实验来论证了吧,这个是最简单的一个,我们过。

    2.栈顶复用模式singleTop:

        在该模式下,如果栈顶Activity为我们要新建的Activity(目标Activity),那么就不会重复创建新的Activity。



    这次我来用代码举例:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="zy.pers.activitytext">
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:taskAffinity="gf.zy"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".TwoActivity"
                android:launchMode="singleTop">
                <intent-filter>
                    <action android:name="ONETEXT_TWOACTIVITY" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>
            <activity android:name=".ThreeActivity">
                <intent-filter>
                    <action android:name="ONETEXT_THREEACTIVITY" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>

    这是我的第一个应用OneText的Mainfest结构,里面创建了三个Activity,我们把第二个Activity的模式设置为singleTop。

    每个Activity界面都只有一个显示当前界面名称的TextView和一个用来组跳转的Button,所以应用OneText的功能就是从活动1跳转到活动2,活动2继续跳转活动2,代码就不给大家展示了,都能写出来。


    我们发现在我们跳转到TwoActivity之后,点击跳转新的TwoActivity时候,他没有响应。

    为了作对比,我们再把TwoActivity设置为standard,看一看效果:


    我们发现创建了很多的TwoActivity。

    同时我们打印上task的Id(我没有把所有周期方法都打印log):


    发现他们全部都是来自一个Task。这个可以过。

    应用场景:

    开启渠道多,适合多应用开启调用的Activity:通过这种设置可以避免已经创建过的Activity被重复创建(多数通过动态设置使用,关于动态设置下面会详细介绍)

    3.栈内复用模式singleTask:

        与singleTop模式相似,只不过singleTop模式是只是针对栈顶的元素,而singleTask模式下,如果task栈内存在目标Activity实例,则:

    1. 将task内的对应Activity实例之上的所有Activity弹出栈。
    2. 将对应Activity置于栈顶,获得焦点。

    同样我们也用代码来实现一下这个过程:

    还是刚才的那一坨代码,只是我们修改一下Activity1的模式为singleTask,然后让Activity2跳转到Activity3,让Activity3跳转到Activity1:


    在跳回MainActivity之后点击back键发现直接退出引用了,这说明此时的MainActivity为task内的最后一个Activity。所以这个模式过。

    应用场景:

    程序主界面,我们肯定不希望主界面被多创建,而且在主界面退出的时候退出整个App是最好的设想。

    耗费系统资源的Activity:对于那些及其耗费系统资源的Activity,我们可以考虑将其设为singleTask模式,减少资源耗费(在创建阶段耗费资源的情况,个人理解-。+)。

    4.全局唯一模式singleInstance:

        这是我们最后的一种启动模式,也是我们最恶心的一种模式:在该模式下,我们会为目标Activity分配一个新的affinity,并创建一个新的Task栈,将目标Activity放入新的Task,并让目标Activity获得焦点。新的Task有且只有这一个Activity实例。       如果已经创建过目标Activity实例,则不会创建新的Task,而是将以前创建过的Activity唤醒(对应Task设为Foreground状态)


    我们为了看的更明确,这次不按照上图的步骤设计程序了(没错,这几张图都不是我画的-。+!)。

    我们先指定一下这次的程序:还是这三个Activity,这次Activity3设置为singleInstance,1和2默认(standard)。

    然后我们看一下这个效果:


    说一下我们做了什么操作:

    首先由1创建2,2创建3,然后又由3创建2,2创建3,3创建2,然后一直back,图如下:


    还请各位别嫌弃我-。+,图虽然不好看,但是很生动形象。。。。具体说一下:这张图对应着我们上面的程序流程,黄色的代表Background的Task,蓝色的代表Foreground的Task。

    我们发现back的时候会先把Foreground的Task中的Activity弹出,直到Task销毁,然后才将Background的Task唤到前台,所以最后将Activity3销毁之后,会直接退出应用。

    但是有没有想过这样会出现一个问题,什么问题我们直接看图就好:


    我简单说一下这个案例:1,2,3三个Activity,2是singleInstance模式,然后1->2,2->3,之后狂点back,在回到Home界面后点击菜单键,发现首先启动的是2Activity。

    简单解释一下:1和3是一个task,2是单独的一个task,在我们2->3后,前台的task又从2的回到了1和3的。所以最后退出的task是2的线程,而如果不是重新启动App。上一次最后关闭的Task是2的,所以。。

    所以说singleInstance设置的Activity最好不要设置成中间界面。


    以上表示我们关于四种模式的最基本理解,其实有了前面的知识了解之后,我们发现这些其实也不是很难对吧。。。真正比较绕的在后面-。+,注意前方高能:

    三、动态设置启动模式

        在上述所有情况,都是我们在Manifest中设置的(通过launchMode属性设置),这个被称为静态设置(我们写程序写多了会发现有静态就有动态,而且静态多数在xml设置,动态在java代码设置-。+),接下来我们来看一下如何动态的设置Activity启动方式。

    注):如果同时有动态和静态设置,那么动态的优先级更高。

    1.关于动态设置与静态设置的理解:

        关于这个理解我是看过一篇文章,比较认同里面的思想,所以在这里也总结一下:

        静态设置,可以理解为通知别人:就是当我被创建的时候,我告诉你我是通过这种模式启动的。

        动态设置,可以理解为别人的要求:别人给我设一个Flag,我就以这种Flag的方式启动。

        可能这个没什么用哈,但是仔细想一下这种对程序的思想理解应该是正确的。

    2.几种常见的Flag:

        我们说的动态设置,其实是通过Intent。对与Intent这个类大家应该不陌生吧,我们刚才在启动Activity的时候就用到这个类了。

    如果我们要设置要启动的Activity的启动模式的话,只需要这样:

    intent.setFlags(、、、、、);

    然后在里面添加对应的Flag就好,那么接下来我们介绍几个常见的Flag(他的Flag太多了,头皮发麻。):

    2.1._NEW_TASK

    他对应的Flag如下:

    Intent.FLAG_ACTIVITY_NEW_TASK

    这个Flag跟我们的singleInstance很相似:在给目标Activity设立此Flag后,会根据目标Activity的affinity进行匹配:如果已经存在与其affinity相同的task,则将目标Activity压入此Task。    反之没有的话,则新建一个task,新建的task的affinity值与目标Activity相同。然后将目标Activity压入此栈。

    其实简单来说,就是先看看需不需要创建一个新的Task,根据就是有没有相同的affinity。然后把Activity放进去。

    但是此情况和singleInstance有不同,有两点注意的地方:

    1. 新的Task没有说只能存放一个目标Activity。只是说决定是否新建一个Task。而singleInstance模式下新的Task只能放置一个目标Activity。
    2. 在同一应用下,如果Activity都是默认的affinity,那么此Flag无效。而singleInstance默认情况也会创建新的Task。

    这个东西理解起来可能有一些抽象,我们通过一个实例来证明他:

    在之前的一些例子中,我们都是在同一应用之间进行跳转,而现在我们进行不同App的Activity相互跳转(其实就是创造一个不同taskAffinity的情况。。。忘了的话见一、4)。

    首先,我们需要创建一个新的App——TwoApp,这个App目前只需要一个MainActivity就够了,我们在MainActivity放置一个button,让他跳转到OneApp的TwoActivity。

    public void onClick(View v) {
        Intent intent = new Intent("ONETEXT_TWOACTIVITY");
        
        startActivity(intent);
    }

    这是跳转的代码。

    现在我们先概述一下我们的流程:我们先打开TwoApp,然后在TwoApp的MainActivity界面跳转到OneApp的TwoActivity。

    对于OneApp的设定,我们已经将三个Activity都设置成了standard模式。还是1->2,2->3,3->2。

    代码就不上了,这么简单,大家自己也能写出来。效果如下:

    为了看的清清楚楚,最开始清空了所有的进程。

    现在我们点开TwoApp,

    现在只有TwoApp一个进程,

    现在我们点开了 OneApp的TwoActivity,但是我们发现他还是只有一个进程,


    现在我们在TwoApp的MainActivity跳转到OneApp的TwoActivity,添加_NEW_TASK的Flag。

    public void onClick(View v) {
        Intent intent = new Intent("ONETEXT_TWOACTIVITY");
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    }

    我们再看一下效果,还是跟刚才一样先清空所有的进程,这次效果直接连起来看了:


    与上面不同的地方在于,我们新的界面创建在了新的进程中——其实就是OneApp被唤醒了,我们来分析一下为什么会这样:

    首先我们会想一下我们上面所学过的一个东西,affinity:我们说这个东西在默认情况下就是App的包名packageName,而OneApp中的TwoActivity默认的affinity就是OneApp的包名。这里能够理解吧。

    然后我们说_NEW_TASK情况下,会先查找是否有对应的affinity的task,如果有就不在创建,直接将其放入,反之新建task,所以新建的task就是我们的OneApp的task,我们可以再做一个测试,我们先唤醒OneApp,然后再让TwoApp跳转到OneApp的TwoActivity(有点绕啊。。。),我们看是什么情况:

    首先启动OneApp,并跳转到ThreeActivity。

    然后启动TwoApp,并跳转到OneApp的TwoActivity。

    然后一直点击Back,

    我们发现在Two中唤醒One的TwoActivity,同样是被放入了OneApp的默认Task中。

    关于_NEW_TASK我们就说这么多吧。

    2.2._SINGLE_TOP

    该模式比较简单,对应Flag如下:

    Intent.FLAG_ACTIVITY_SINGLE_TOP

    次Flag与静态设置中的singleTop效果相同,所以请见二、2.

    2.3._CLEAR_TOP

    这个模式对应的Flag如下:

    Intent.FLAG_ACTIVITY_CLEAR_TOP

    当设置此Flag时,目标Activity会检查Task中是否存在此实例,如果没有则添加压入栈,

    如果有,就将位于Task中的对应Activity其上的所有Activity弹出栈,此时有以下两种情况:

    • 如果同时设置Flag_ACTIVITY_SINGLE_TOP,则直接使用栈内的对应Activity,
    • 没有设置。。。。。。。,则将栈内的对应Activity销毁重新创建。

    关于这个Flag,我们发现他和singleTask很像,准确的说,是在_CLEAR_TOP和_SINGLE_TOP同时设置的情况下,就是singleTask模式。

    而唯一不同的一点就在于:他会销毁已存在的目标实例,再重新创建。这个我们通过打印一下生命周期就好。

    这次我们只用OneApp就好了,还是1->2,2->3,3->2,这次我们将2的Flag设置为_CLEAR_TOP,看一下TwoActivity的生命周期。


    我们的流程如下:1->2       2->3    3->2     2->3    3->2    back    back   然后就退出了,这说明在Task内2上面的3的确被弹出栈了。

    然后我们再看一下2的日志:


    我想在日志图片上面标注的很清楚了,我只截取了一部分日志,我们质疑3->2时候先销毁,后创建。


    好,现在我们同时加上_SINGLE_TOP的Flag。

    效果相同,我们只看log:


    很明显,在3->2的时候,TwoActivity调用了onRestart方法,也就是栈顶复用了。

    这个Flag过。


    其实还有一点点东西想提一下的,但是感觉 篇幅已经很恶心了。。。。再写下去可能更没人看了吧/笑着哭,所以决定找机会穿插到下一篇文章中:Activity标签中task相关属性

    喜欢的话可以关注一波,有建议和不同观点的欢迎下方留言!感谢大家的支持!

    展开全文
  • 联想bios 启动模式设置教程

    千次阅读 2021-08-11 11:38:50
    联想bios 启动模式设置教程[2021-02-11 13:42:06]简介:电脑BIOS电源选项设置方法:首先进入“电源管理设定”并选取“再来电状态”;然后选择【Turn On】,代表停电后再来电时,电脑会自动启动;最后保存退出,这样就...

    联想bios 启动模式设置教程

    [2021-02-11 13:42:06]  简介:

    384320.html

    电脑BIOS电源选项设置方法:首先进入“电源管理设定”并选取“再来电状态”;然后选择【Turn On】,代表停电后再来电时,电脑会自动启动;最后保存退出,这样就可以自动启动了。根据不

    d119fab843d2a9cb7136d01e261dc96c.png

    系统运维

    Windows中tocmat设置为服务开机启动一 安装Java,tomcat安装jdk,解压tomcat,配置好Java环境变量 二 配置tomcat作为服务启动 tom

    d119fab843d2a9cb7136d01e261dc96c.png

    linux启动服务器的方法:首先加载bios,并读取mbr;然后在操作系统内核运行之前运行一段程序,并加载内核;接着init 进程执行【rc.sysinit】,并启动内核模块;最后执行【/etc/rc.d/rc.lo

    d119fab843d2a9cb7136d01e261dc96c.png

    设置开机自启动mysql的方法:1、按【win+r】快捷键打开运行;2、输入services.msc,回车;3、在打开的服务列表中找到mysql服务;4、打开属性,设置启动类型为自动,点击【确定】即可。具

    d119fab843d2a9cb7136d01e261dc96c.png

    php去除nbsp的方法:首先创建一个PHP代码示例文件;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐:《PHP视频教

    d119fab843d2a9cb7136d01e261dc96c.png

    关闭方法:在php.ini配置文件,查找“safe_mode =”,将其设置为“safe_mode = Off”;然后重启php,或者重启整个环境即可关闭php safe_mode模式(安全模式)。关闭php的safe_mode模式的

    d119fab843d2a9cb7136d01e261dc96c.png

    下面由notepad教程栏目给大家介绍Notepad++列模式,希望对需要的朋友有所帮助!引子一直在用Notepad++,小巧、顺手。偶尔使用UltraEdit来处理列模式;UE越来越大,启动时间太长,早都烦

    d119fab843d2a9cb7136d01e261dc96c.png

    工厂模式和抽象工厂模式的区别?1、工厂模式在使用时可以随时设置变量,不用提前进行设置,抽象工厂模式则需要每次增加产品时,进行修改类方法;2、工厂模式可以使用两个接口以及三个

    d119fab843d2a9cb7136d01e261dc96c.png

    系统运维

    如何开启Gaia ISO的SFTP模式【即:解锁Bash模式】,以上传文件How to enable SFTP access on Gaia OS【参考KB:sk82281】https://sup

    d119fab843d2a9cb7136d01e261dc96c.png

    电脑的安全模式是Windows操作系统中的一种特殊模式,工作原理是在不加载第三方设备驱动程序的情况下启动电脑,使电脑运行在系统最小模式,这样用户就可以方便地检测与修复计算机

    d119fab843d2a9cb7136d01e261dc96c.png

    电脑进bios按什么

    2020-09-07

    电脑进bios按DEL、ESC、 F1、F2、F8、F9、F10或F12键,但是不同主板台式机进入BIOS的按键是不同的,如Award BIOS是按“Del”键,而AMI BIOS是按“Del”或“ESC”键。推荐:《编程视

    d119fab843d2a9cb7136d01e261dc96c.png

    系统运维

    可以使用硬盘方式来安装6.8,但需要分EXT分区并需要把单独添加启动信息,比较复杂,建议使用U盘来做启动,简单方便:

    1、使用UltraISO打

    d119fab843d2a9cb7136d01e261dc96c.png

    服务器

    本文为大家分享jexus服务设置开机启动的具体代码,供大家参考,具体内容如下

    linux的服务开机设置一般在 /etc/init.d/里

    而jexus的默

    d119fab843d2a9cb7136d01e261dc96c.png

    CentOS进入字符界面及窗口模式的方法:1、系统运行级别为3,系统启动后可以进入字符登录CentOS界面;2、系统运行级别为5,系统启动后可以进入图形登录CentOS界面。CentOS进入字符界

    d119fab843d2a9cb7136d01e261dc96c.png

    下面由thinkphp教程栏目给大家介绍Think-Swoole教程之配置、工作进程、携程魅力以及理解 Swoole 进程模式,希望对需要的朋友有所帮助!Think-Swoole 配置、工作进程、携程魅力

    d119fab843d2a9cb7136d01e261dc96c.png

    展开全文
  • 其实dell服务器bios呢,下面是小编为大家整理的戴尔服务器怎么进入u盘启动模式,欢迎大家参考和学习。戴尔服务器怎么进入u盘启动模式1、把准备好资料的两个优盘,分别插入服务器主机上。重启服务器 开机按F11 进入 ...

    导读:谈到模式,大家应该都了解,有人问dell服务器怎么看raid,当然了,还有人想问戴尔笔记本u盘启动快捷键,这到底怎么回事呢?其实dell服务器bios呢,下面是小编为大家整理的戴尔服务器怎么进入u盘启动模式,欢迎大家参考和学习。

    d479b7ccf782b79d7e4f385665bb3981.png

    戴尔服务器怎么进入u盘启动模式

    1、把准备好资料的两个优盘,分别插入服务器主机上。重启服务器 开机按F11   进入 boot manager(以戴尔电脑为例)

    9fd33be615103629fbc4538079d05090.png

    83e8bc9b15b136f27c406a8d8f6c7fb2.png

    2、进入以后,选择one shot bios boot  menu就进入了启动盘选择界面,我这里有两个优盘,先随便选一个看看是不是进入系统。如果没有就重新进入选第二个。

    b5933e2e8082cc6a483b79ed6f64bef8.png

    3、很快进入系统安装界面,输入序列号( 这一步下面如果出错。返回到最上面,看看是不是install.wim没有替换好。)

    dd3ff26a20f770ff6f99fe207129e582.png

    cdfeeee73206a39dd3d6268e32f30b82.png

    4、这里务必选择GUI模式。

    e49c8d9f7fbf2d8eaee77ecf5fc5bd62.png

    5、选择自定义安装,下一步浏览-加载另一个优盘里面的RAID驱动,不然识别不了硬盘。

    0edde1cd87cdcaabb609629604cfa180.png

    6、在内存里安装好驱动以后,服务器对应的硬盘就出来了,这时候格式化需要安装的磁盘,就可以安装系统到对应的磁盘了。

    e357feeec4455745cce89e85007d1123.png

    注意事项:优盘写入镜像以后,要转换成NTFS格式,并把原镜像里的install.wim替换到优盘里。

    服务器开机F11进入以后,选ONE SHOT BIOS BOOT MENU,选择正确的启动优盘。

    一定弄清楚自己服务器的RAID磁盘管理器型号,在官网下载正确的驱动。

    方法一、传统法

    设置电脑U盘启动,传统的方法是进入电脑bios设置,然后进入boot启动项设置,之后将USB设备设为第一启动项,然后保存即可,以下是具体步骤:

    1、重启戴尔笔记本,在笔记本标志画面的时候,立即按键盘上的“F2键”即可进入笔记本bios设置,如下图所示:

    注:在戴尔笔记本开机标志界面底部会有F2 Setup和F12 Boot Options提示,这里我们按F2键进入bios设置即可。

    2、进入bios设置以后,我们使用键盘上的→键,切换到顶部的菜单中的“Boot”菜单,然后在里面选择“USB Storage Device”为第一启动项即可,选择后,Entel键确认,最后按F10键保存,之后会提示你是否保存,我们选中“Yes”然后按回车确认即可,之后戴尔笔记本将自动重启,之后即可进入U盘启动界面了。

    补充说明:

    在开机进入到标志画面时,马上按下键盘左上角的F2键,就能进入到BIOS主界面,一般在标志画面出现时,在屏幕的右下方都会有进入BIOS按键提示,如果不记得或不知道,看一看就可以了。

    刚进入BIOS时,默认的是Main这一项,这里主要是设置时间,和一些硬件的显示,我们不要动这里面的选项。

    我们要通过左右方向键,选择Boot这一项,Boot为“启动”的意思,在这里就是要设置U盘或光盘启动的地方。

    如果要从U盘启动,选择USB Storage Device,用上下方向键移动到这一项,然后用+/-键,把这一项移动到最上面,再按Enter键确定。

    如果要从光盘启动,选择CD/DVD/CD-RW Drive,用上下方向键移动到这一项,然后用+/-键,把这一项移动到最上面,再按Enter键确定。

    如果装完系统后,要恢复原来硬盘启动,就要选择Hard Drive,同样用上下方向键移动到这一项,然后用+/-键,把这一项移动到最上面,再按Enter键确定。

    移到最上面的原因是,哪一项在最上面,哪一项就为第一启动,移到Boot Priority Order这一项下面就可以了,这个是标题,中文意思是“启动顺序设置”。

    设置完以后,按F10键进行保存并退出,重启电脑就可以从U盘或光盘启动了,如果在PE中看不到电脑中的硬盘,那就是硬盘模式设置不正确,那就要重新进入BIOS,对硬盘进行模式设置,下面对硬盘模式设置方法进行讲解说明。

    设置硬盘模式,进入到BIOS主界面后,把光标移到Advanced这一项上,Advanced为高级设置意思。

    进入到Advanced这一项后,选择SATA Uperation这项,其意思是“SATA工作模式”,然后按Enter键,进入其子项。

    在打开的小窗口中选择ATA这一项,然后按Enter键确定,原因是,尤于一些老式的PE系统不兼容ACHI模式,所以要启动传统的ATA模式,如果是一些比较新的PE系统,它们都能够兼容ACHI模式。

    当然,最后一个步骤就是对所有设置进行保存,一般可以到Exit主项下选择Save & Exit Setup这一项,中文意思是“退出并保存设置”,还有一个直接的方法,就是直接按F10键,这个F10键是所有电脑通用的“退出并退出键”,按它就可以了,整个BIOS从U盘或光盘启动就设置完了。

    方法二、快捷键法

    不同品牌笔记本电脑拥有不同的启动项快捷设置按键,戴尔笔记本的启动项快捷键为F12,使用方法如下:

    同样是在电脑重启或者开机进入标志界面的时候,我们立即按键盘上的F12键,之后将进入如下快捷启动项设置界面,这里我们直接选择第二项“USB Storage Device(有些直接显示插入笔记本的U盘名称,总是是含有USB字样的这项)”,选中后,我们直接按Enter(回车键),之后即可进入U盘启动界面了。

    如果想要从光盘启动,选择CD/DVD/CD-RW Drive这一项,然后按Enter键,就能马上从光盘启动,当然,也要先在光驱中放入系统光盘,这样,快捷启动方法就讲解完了。

    戴尔笔记本怎么设置U盘启方法就为大家介绍到这里,建议大家优先采用方法二,这样比较方便与快捷。

    注意事项

    由于BIOS版本不同,可能在启动设置选项上会有所不同,但一般都会差不多,请灵活运用。

    在装系统或设置BIOS前,最好检测U盘与电脑的兼容性,以免不必要的麻烦。

    dell r720服务器 怎么从u盘启动

    设置U盘启动详细如下:插上制作好的大番薯启动盘的U盘并启动电脑,在进入开机画面的时候按“F2”进入BIOS界面;

    进入BIOS界面之后切换到“BOOT”,准备设置u盘启动;

    这里在键盘按下F5/F6键进行上下切换,把“USB HDD”切换到第一选项,设置完成之后在键盘按下F10保存并重新启动;

    保存重后即设置U盘为第一启动项成功。

    戴尔笔记本u盘启动按F12没有usb启动项

    你好!

    机器出厂预装win8,想要用系统盘安装win7系统时,开机按F12,进入开机启动项选择时,发现不存在从CD/DVD启动 的选项,来教你如何解决这个问题:

    1. 开机按F2,进入BIOS

    2.在 BIOS 的Boot菜单下,将Secure Boot 改为 Disabled

    3. 将Boot List Option 改为 Legacy

    按F10保存,重新开机按F12,即可看到开机启动选项了。

    戴尔服务器能设置从U盘启动吗

    1、将已使用u启动软件制作好的启动u盘插入电脑主机的usb插口(建议将u盘插入到主机箱后置的USB插口处,因为那样传输的性能比前置的要好),然后开机。

    2、当看到开机画面时,连续按下快捷键F12;当连续按下快捷键F12后电脑会进入一个启动项选择的窗口!

    ① 硬盘启动;

    ② 光驱(光盘)启动;

    ③ usb启动。

    3、通过键盘上的上下(↑ ↓)方向键将光标移至usb启动项后按下回车键确认即可。

    4、完成上述的所有操作后电脑便会从u盘启动并进入u启动的主菜单界面。

    dell r230服务器 怎么u盘启动

    按下开机按钮,当电脑出现开机画面按F2进入bios设置界面。

    进入bios设置窗口中,移动光标切换到“boot”项下,然后移动光标到“1st Boot Priority”回车确认。

    在之后的回车确定后,弹出的1st boot priority选项窗口中,移动光标选择“usb storage device”项然后回车确认。

    完成设置之后,用户们可以直接按F10保存退出即可。

    重启电脑后便会自动进入u深度主菜单界面。

    dell服务器按什么键进入PE

    看你的 PE 是做在 U盘里面还是光碟里面?U盘点 F2进入BOSS 修改启动项里面的外接E打头的,把其改成ENABLE,然后把U盘的启动提前,光盘外置光驱则是把F打头提前

    DELL服务器BIOS设置中没有USB启动选项

    因为按键错误,DELL电脑请按F2进入设置。

    具体步骤如下:

    1、按电脑上的F2快捷键进入设置,将出现如下界面,如下图所示,选择红色箭头的选项,单击。

    63180e7c02d7ed525a3ad87429d6a352.png

    2、单击后,首先选择左侧红色框中的选项,然后选择右侧的第一个选项,如下所示。

    37ae28262074dabf475e23a89b4cc016.png

    3、之后就会转跳到以下页面,选择左边的第三个选项,右边的第一个选项

    e05dd46b0f49831415a754672b255a34.png

    4、之后就会看到以下画面,在右侧中将USB的选项调节到第一的位置

    7ee7e84e80b3499acd1f6c717c9ead68.png

    5、把U盘插入电脑中,重新启动即可

    0fca49c7e70b2e06b78ca303b2cfcba9.png

    BIOS中USB key启动和USB HDD启动的区别

    USB HDD启动:U盘、移动硬盘等储存设备的启动。

    USB Key启动:USB Key是一种USB接口的硬件设备。它内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法实现对用户身份的认证。由于用户私钥保存在密码锁中,因此保证了用户认证的安全性。

    戴尔在BIOS中如何设置成U盘优先启动

    戴尔笔记本电脑设置U盘优先启动的方法:

    1. 启动计算机,并按住F2键不放,直到出现BIOS设置窗口。

    2. 选择并进入第二项,“AdvancedBIOSFeatures (高级BIOS功能)选项”。在里面找到BootDevlice priorfty(启动装置顺序),并找到依次排列的“FIRST”“SECEND”“THIRD”三项(有的BIOS为1st BootDevice;2nd Boot Device),分别代表“第一项启动”“第二项启动”和“第三项启动”。

    3. 这里按顺序依次设置为“移动设备-USB”;“光驱-CDROM”;“硬盘-HardDisk”即可。

    4. 选择好启动方式后,按F10键,出现英文对话框,按“Y”键(可省略),并回车,计算机自动重启,证明更改的设置生效了

    电脑的启动方式一般有三种,CD光驱启动、硬盘启动、U盘启动。默认情况下是从硬盘启动。

    戴尔服务器主板怎么设置U盘启动

    bios设置u盘启动的步骤:

    1、插上制作好的【大蕃薯U盘启动盘】,开机按F12(不同品牌的电脑快捷键不同)进入BIOS。

    2、方向键切换到BOOT项。

    3、将1ST BOOT 修改为USB HDD按F10保存更改。

    4、重启电脑就可以按照选择用u盘启动了

    『青青星座网』原创文章,未经允许不得转载

    展开全文
  • Activity的启动模式

    千次阅读 2021-10-18 17:12:36
    题目:Activity的启动模式,区别 这道题想考察什么? 启动模式是什么? 启动模式如何设置? Activity的启动模式区别? 应用场景以及那些注意的点? 考察的知识点 启动任务,返回栈,启动模式的概念 启动模式设置...
  • Activity的四种启动模式

    千次阅读 2021-11-11 15:51:20
    启动模式 顾名思义就是activity启动时的执行策略,一共有四种,分别是standard、singleTop、singleTask、singleInstance。 启动模式的设置在AndroidManifest.xml中修改,默认是standard模式,如果需要修改的话要在...
  • Activity四种启动模式及应用场景

    千次阅读 2019-03-29 10:47:18
    面试的时候科大讯飞的一个面试官问我Activity的启动模式和具体的应用模式;我也一想是啊,平时不太注意,只知道有这几个启动模式,结果到了关键的时刻卡壳了,做个记录: 一、Activity四种启动模式: (一)、基本描述...
  • 怎么关闭安全模式,bios安全启动模式

    千次阅读 2021-07-23 01:24:41
    最近总是有朋友问笔记本电脑的启动怎么关闭,因为如果要换成Win7系统,那么安全启动是一定要关闭的,当然还有其它一些特定情况需要在BIOS中关闭安全启动,以下小编分享了电脑关闭BIOS中secure Boot(安全启动)选项的...
  • Android Activity的四种启动模式

    万次阅读 多人点赞 2018-12-18 23:06:12
    相信很多人和我一样,在初学Android甚至初入职场的时候不了解Acticity的启动模式,或者为了面试刷题刷到了,但并不理解启动模式的作用,以及如何正确的使用启动模式而不是所有的都是用默认模式。 二、Activi...
  • 启动模式,BOOT0和BOOT1详解

    千次阅读 2021-02-04 19:32:59
    STM32一共有三种启动模式,在ST官网上下载的RM0008中,我找到了启动相关的配置说明: 对应的中文翻译如下: 所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,...
  • 计算机安装操作系统时,通常要用可启动光盘或者U盘来启动机器,那么电脑启动怎么选择启动模式呢?小编为大家分享了电脑启动怎么选择启动模式的解决方法,下面大家跟着学习啦小编一起来了解一下吧。电脑启动选择启动...
  • Activity的四种启动模式和应用场景

    万次阅读 2017-06-15 17:56:44
    小结 使用方式: standard:怎么样都要创建 singleTop:顶上不是target Activity,new一个 singleTask:顶上不是target Activity,移除target之上...singleTask:程序入口等启动页面 singleInstance:完全独立的,类似
  • 管理方式 Activity的管理方式 =任务栈 任务栈 采用的结构 = “后进先出” 的栈结构 每按一次Back键,就有一个Activity出栈 区别: ...启动模式的设置 ...启动模式有2种设置方式: ... 默认启动模式,每次启动Activi...
  • UEFI的两种启动模式

    千次阅读 2021-01-17 13:10:51
    UEFI启动模式和传统的Lagency启动模式完全不同,因此很有必要先了解一下UEFI BIOS和UEFI启动模式1 必须搞清的几个UEFI问题(1) UEFI启动模式 与 legacy启动模式legacy启动模式: 就是这么多年来PC一直在使用的启动方式...
  • 目录 一、前言 二、查看Log日志过程 三、问题分析(标红要注意) ...standard标准模式,也是activity的默认启动模式。在这种模式下activity可以被多次实例化,即在同一个栈中可以存在多个activity的实例...
  • Android中Activity的启动模式(LaunchMode)和使用场景

    万次阅读 多人点赞 2017-09-23 18:04:55
    一、为什么需要启动模式在Android开发中,我们都知道,在默认的情况下,如果我们启动的是同一个Activity的话,系统会创建多个实例并把它们一一放入任务栈中。当我们点击返回(back)键,这些Activity实例又将从任务...
  • 判断BIOS的启动模式和磁盘分区格式

    千次阅读 2022-03-24 10:48:37
    UEFI是新式的BIOS启动引导,Legacy则是传统的BIOS启动引导。
  • Win10的高级启动模式主要是用于维护、修复Win10系统的一种高级模式,在Win10无法正常启动时尤为重要,也可以理解为类似WinPE一样的维护系统,高级启动可以在高级疑难解答模式下启动Windows,如安全模式也是需要在...
  • 彻底弄懂Activity四大启动模式

    万次阅读 多人点赞 2016-05-24 16:04:24
    最近有几位朋友给我留言,让我谈一下对Activity启动模式的理解。我觉得对某个知识点的理解必须要动手操作才能印象深刻,所以今天写一篇博文,结合案例理解Activity启动模式。由于之前看过“区长”的一篇博文(文章...
  • Android 代码设置启动模式

    千次阅读 2018-01-09 21:36:36
    今天一个朋友问道了这个问题,从A activity启动一个B activity,B启动一个C,C启动一个D,A、B、C、D四个都是默认的启动模式。现象需要D直接回到A activity,但是不能重新创建一个新的Activity。怎么给D的Activity ...
  • Android:四种启动模式分析

    万次阅读 多人点赞 2018-05-21 20:53:57
    在一个项目中会包括着多个Activity,系统中使用任务栈来存储创建的Activity实例,任务栈是一种“后进先出”的栈结构。举个栗子,若我们多次启动同一个...上面这个样例中的Activity并没有设置启动模式,你会发现多...
  • STM32三种BOOT启动模式详解(全网最全)

    万次阅读 多人点赞 2021-04-23 12:58:07
    一、三种boot启动模式 一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。 1、第一种方式(boot0 = 0):...
  •  想起来写这个是因为之前在开发过程中遇到在onStart()方法中使用getIntent()方法无法获取到启动activity时传入的数据,也是纳闷了很久,然后就决定好好看一下这个地方,本文章会结合简单的demo先说说四个启动模式,...
  • 在绘制32单片机时,参考别人的原理图对单片机的启动方式BOOT有疑问, 这里写目录标题自己的理解和应用一、三种BOOT模式启动的介绍二、自己...用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。 第一
  • 转载自:... android activity的启动模式有4种。分别是standard,singleTop,singleTask和singleInstance。在AndroidManifest.xml中,通过标签的android:launchMode属性可以设置启动模式。 stand...
  • activity 的四种启动模式

    千次阅读 2018-09-26 17:26:52
    Activityde 的启动模式有四种。分别是standard、singleTop、singleTask和singleInstance。在AndroidManifest.xml中,通过&lt;activity&gt;标签的android:launchMode属性可以设置启动模式。下面针对四种启动...
  • Activity的四种启动模式应用场景

    万次阅读 2018-03-30 23:42:52
    在这金三银四的时间里一个哥们忽然一本正经的问我Activity的启动模式和具体的应用模式;我也一想是啊,平是不太注意结果到了 关键的时刻卡壳了,感觉未雨绸缪一下,做个记录: Activity启动模式有四中: 1,...
  • STM32启动模式详解

    千次阅读 多人点赞 2017-11-01 11:25:40
    一、三种boot启动模式:  一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动 模式。 1、第一种方式(boot0...
  • Activity的启动模式之singleInstance模式

    千次阅读 2020-03-09 12:22:20
    activity会启动一个新的任务栈来管理这个activity,singleInstance模式加载activity时,无聊从哪个任务栈中启动该activity,只会创建一个activity实例,并且会使用一个全新的任务栈来装载该activity实例 与...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,674,808
精华内容 669,923
关键字:

启动模式

友情链接: luadec.zip