2019-03-29 ANDROID第一次安装打开,home键

2019-03-29  本文已影响0人  菜神一把梭

首次安装,出现“打开”按钮,我们点击打开按钮启动应用进主界面,我们再按之前的操作,按home键返回桌面,然后点击应用图标进入就会发现会重启应用,并且退出的时候退出两次才会回到桌面,那么我们来分析一下这是为什么呢?

     首先我们要知道,一个task并不是对应一个线程,实际上一个task可以包含多个进程, 一个Task中可能有多个同一个Activity的实例,然后这时候第一次的情况下,并不是设置launchMode就可以保证单例的,在资料上看到,这也是安卓系统的一个漏洞,但是官方也给出了对应的API来解决这个问题。

解决方法:

 根activtiy 的onCreate方法里,在super.onCreate(savedInstanceState)这一行代码之后,一定要在这行代码之后,插入以下代码:

 @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        // if(!isTaskRoot()),判断该Activity是不是任务空间的源Activity

        // “非”也就是说是被系统重新实例化出来,如果你就放在launcher

        // Activity中话,这里可以直接return了。

        if (!isTaskRoot()) {

            finish();

            return;

        }

 }

最终打开的始终只有一个应用。

上一篇下一篇

猜你喜欢

热点阅读