关于OSCHINA Android 客户端源码内AppManager类中的问题

开源中国门卫大哥 发布于 2014/03/10 15:31
阅读 156
收藏 0

由于每次插入代码时页面都会死掉(IE11),所以就不使用代码形式了。

首先问题来源是:在使用Iterator时源列表是不能被修改的,否则会报ConcurrentModificationException错误,而在foreach中好像就是使用的Iterator。

因此在读OSCHINA Android 客户端源码内AppManager类时发现它的public void finishActivity(Class<?> cls)这个方法肯定是错误的写法。(经本人测试,确实会产生错误)。因为在其客户端中并没有调用此方法的地方所以也没什么大问题。

疑问:类似疑问是在public void finishAllActivity()方法里面,当应用调用该方法时会逐个调用activityStack里面Activity元素的finish方法,如果Activity调用了destory的方法,destory里面会调用AppManager内的finishActivity(Activity activity)方法,进而再次调用Activity的finish的方法,然后remove掉。这样的话会返回来影响到finishAllActivity()方法里面for循环的顺序,从而影响整个程序的完全退出。

好吧,到现在我都不知道自己在说什么了,我想问的是finish方法调用后会多久才调用destory方法。

加载中
返回顶部
顶部