1

我的模拟器偶尔会崩溃,但现在从来没有在我正在测试的平板电脑上。

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 同步方法中,但它没有帮助。

我从您的经验中知道这是一些内部 android 错误(可能只是模拟器错误),或者如果我正在管理保存全局数据(其中包含 LinkedHashMap)错误。或者还有其他方法可以在活动之间共享公共数据吗?

谢谢

4

0 回答 0