美文网首页
重复实例化launcher Acitvity的问题

重复实例化launcher Acitvity的问题

作者: Avalon1 | 来源:发表于2016-05-05 10:40 被阅读338次

应用明明没有被系统回收。按home键退出到桌面的时候会出现这种,点击应用图标会再次打开launcher Acitvity。我的项目的launcher是一个登陆。他会再次去到登录界面。在登录界面通过finish()杀死这个activity又能再次返回到之前按home键之前的样子。所以让我感觉很是奇怪。而且这种情况似乎并不是在所有的手机上都有出现,在我自己的手机以及模拟器都不会出现这样的情况。而在某些小米华为上面会出现。让我很郁闷。。。网上搜索了一些。但是似乎不能解决这个问题。

发现百度或者谷歌出来的一些处理方案

比如 

似乎没用啊不过

//        if(!this.isTaskRoot()) { //判断该Activity是不是任务空间的源Activity,“非”也就是说是被系统重新实例化出来

//            //如果你就放在launcher Activity中话,这里可以直接return了

//            Intent mainIntent=getIntent();

//            String action=mainIntent.getAction();

//            if(mainIntent.hasCategory(Intent.CATEGORY_LAUNCHER) && action.equals(Intent.ACTION_MAIN)) {

//                finish();

//                return;//finish()之后该活动会继续执行后面的代码,你可以logCat验证,加return避免可能的exception

//            }

//        }

部分机型有用

//        if ((getIntent().getFlags()& Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT)!=0)

//        {

//            finish();

//            return;

//        }

还有一种在Index里面写一个静态常量。只要index没有被destroy就为true。在打开的时候判断下。如果这个常量为true就直接finish,return,似乎有效

相关文章

  • 重复实例化launcher Acitvity的问题

    应用明明没有被系统回收。按home键退出到桌面的时候会出现这种,点击应用图标会再次打开launcher Acitv...

  • Activity启动模式详解

    Acitvity的LaunchMode 多次启动同一个Activity时,系统会创建多个实例并把它们一一放入任务栈...

  • Android应用Launcher重复启动问题

    Bug表现 操作一: F_step1、使用Installer安装App,安装后选择打开app,应用进入闪屏页Act...

  • 0224-教练分享-四化

    易效能四化:复杂的问题简单化、简单的问题重复化、重复的问题工具化、工具的问题圈子化 1、复杂的问题简单化 ...

  • JS 设计模式

    构造函数模式 使用构造函数的方法 ,即解决了重复实例化的问题 ,又解决了对象识别的问题,该模式与工厂模式的不同之处...

  • 4.初始化界面

    流程 开始 --》 初始化Launcher上下文以及Launcher自身的环境设置 --》建立与LauncherM...

  • WebView实例化的问题

    由于WebView直接在XML中生成会使得WebView直接强引用了当前Activity的对象,易于引起Activ...

  • 【六】ListView

    acitvity_main MainActivity

  • linux 命令学习

    uniq -c 将row唯一化,并在第一列标出重复数量 实例

  • java 单例设计模式

    1.传统的两私有一公开(私有构造方法、私有静态实例(懒实例化/直接实例化)、公开的静态获取方法)涉及线程安全问题(...

网友评论

      本文标题:重复实例化launcher Acitvity的问题

      本文链接:https://www.haomeiwen.com/subject/wqddrttx.html