Crash ConcurrentModification

时间:2013-02-01 05:10:16

标签: android

我在我的模拟器上遇到了ocassional崩溃,但现在从来没有在我正在测试的平板电脑上。

java.util.ConcurrentModificationException                                            
at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:346)      
at java.util.LinkedHashMap$EntryIterator.next(LinkedHashMap.java:375)                
at java.util.LinkedHashMap$EntryIterator.next(LinkedHashMap.java:373)                
at java.util.HashMap.writeObject(HashMap.java:1024)                                  
at java.lang.reflect.Method.invokeNative(Native Method)                              
at java.lang.reflect.Method.invoke(Method.java:521)                                  
at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1229)           
at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1215)           
at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1587)           
at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1859)      
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1701)              
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1665)              
at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:1153)         
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:420)        
at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1251)           
at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1587)           
at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1859)      
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1701)              
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1665)              
at android.os.Parcel.writeSerializable(Parcel.java:1155)                             
at android.os.Parcel.writeValue(Parcel.java:1114)                                    
at android.os.Parcel.writeMapInternal(Parcel.java:479)                               
at android.os.Bundle.writeToParcel(Bundle.java:1552)                                 
at android.os.Parcel.writeBundle(Parcel.java:493)                                    
at android.app.ActivityManagerProxy.activityPaused(ActivityManagerNative.java:1574)  
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3292)          
at android.app.ActivityThread.access$2500(ActivityThread.java:125)                   
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2040)              
at android.os.Handler.dispatchMessage(Handler.java:99)                               
at android.os.Looper.loop(Looper.java:123)                                           
at android.app.ActivityThread.main(ActivityThread.java:4627)                         
at java.lang.reflect.Method.invokeNative(Native Method)                              
at java.lang.reflect.Method.invoke(Method.java:521)                                  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)   
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)                      
at dalvik.system.NativeStart.main(Native Method)        

似乎从日志中它会在活动暂停时发生。 我的所有活动都是访问一个公共的超类静态对象(全局数据),它确实内部有一些linkedhashmap,我在onSaveInstanceState中使用putSerializable保存这个globaldata。我试图在sattic synchronized方法中将globaldata保存/恢复到我的基本活动类中,但它没有帮助。

我从你的经验中知道这是一些内部的android bug(也许只是模拟器bug)或者如果我正在管理保存全局数据(里面有LinkedHashMap)错误。或者是否有其他方式在活动之间共享公共数据?

由于

0 个答案:

没有答案