• Android moveTaskToBack方法测试


    前言

    moveTaskToBack ---------字面意思将任务向后移动

    具体什么意思呢?

    遇事不决看源码

    
        /**
         * 将包含此活动的任务移动到活动堆栈的后面。活动在任务中的顺序不变。
    	 * 参数:
         * Move the task containing this activity to the back of the activity
         * stack.  The activity's order within the task is unchanged.
         * 
    	 * 
    	 * nonRoot–如果为false,则仅当活动是任务的根时才有效;如果为true,它将适用于任务中的任何活动。
         * @param nonRoot If false then this only works if the activity is the root
         *                of a task; if true it will work for any activity in
         *                a task.
         *
         * 如果任务已移动(或已在后面),则返回true,否则返回false
         * @return If the task was moved (or it was already at the
         *         back) true is returned, else false.
         */
        public boolean moveTaskToBack(boolean nonRoot) {
            return ActivityClient.getInstance().moveActivityTaskToBack(mToken, nonRoot);
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    moveTaskToBack调用后,task中activity的顺序不会发生变化,A启动B,B中调用此方法退到后台,重新启动应用会调用B中的onRestart-onStart-onResume方法,不会重新调用onCreate,而且在B中按下back键返回的还是A,这就是退到后台的功能。

    在activity中按下back键,实际是调用了finish方法,应用退出。虽然应用已经退出,但进程没有被杀死,android中一个应用运行于独立的一个虚拟机实例中,所以在重新启动应用时一个类中的静态对象还保持着运行时的状态,注意在合适位置复位这些状态。

    加入启动一个activity后执行 moveTaskToBack 会发生什么

     - 点击运行了moveTaskToBack()方法
     -  onPause()
     -  onStop()
    
    • 1
    • 2
    • 3
  • 相关阅读:
    Python连接MySQL数据库(简单便捷)
    QQ邮箱怎么设置SMTP接口服务器?
    安装 Ubuntu 22.04.3 和 docker
    Dual-AMN论文阅读
    云服务器带宽对上传下载速度的影响
    基于XML方式的Bean的配置概述
    11_跳表(Skip List)
    ipad手写笔有必要买原装吗?第三方性价比高的手写笔推荐
    VR家居为什么盛行?可以解决哪些传统家居的痛点?
    【Vs code调试C++】
  • 原文地址:https://blog.csdn.net/Life_s/article/details/126361130