这两天检查报错日志的时候
发现了一个没有代码行提示的报错:
经过仔细检查,发现一句比较有价值的信息:
但是,试过了网上所有查到的解决办法:
这个:https://stackoverflow.com/questions/15946783/android-dialogs-are-causing-android-view-windowmanagerbadtokenexception-unable
这个:http://blog.csdn.net/shangmingchao/article/details/50947418
和这个:http://blog.csdn.net/shangmingchao/article/details/50947418
http://bbs.csdn.net/topics/391058287
都没有能解决我的这个问题,这让我感到有点头疼
于是开始梳理代码逻辑:
这个报错,发生的情况,只有一种:
在没有登录的情况下,第二次进入APP的时候
会直接闪退报错
因此,果断review代码:
发现第二次进入时,执行的逻辑和第一次不一样
第二次进入APP时,由于app后台保留了loginDialog的对象,因此并不为null,
所以第二次进入并没有新建loginDialog对象,而且也没有setActivity
于是,我尝试将该对象重新setActivity,但是并不管用,看来不是activity全局对象的问题
而是loginDialog对象本身的问题
所以,我在该Activity里的onDestroy里加入了把loginDialog对象重置为null的方法:
一击必杀,从此之后再尝试不断重新进入app,再也没有报过莫名其妙的崩溃了
大吉大利,今晚吃鸡!