2017-05-04 27 views
1

在使用Android上的应用程序的特定情况下,我在首选项(CN1Preferences)中松散了值。在Android上重新启动我的应用程序时发生EOFException

当我第一次启动我的应用程序时,我在首选项中保存了一些值。如果我关闭了我的应用程序(从后台任务),然后我休息片刻,当我重新启动应用程序时,保存在首选项中的值将丢失。这是重新开张后,我得到的日志:

CliniScore: [EDT] 0:0:0,4 - Exception: java.io.EOFException - null 
05-04 16:32:40.667 10618-10978/? W/System.err: java.io.EOFException 
05-04 16:32:40.667 10618-10978/? W/System.err:  at java.io.DataInputStream.readBoolean(DataInputStream.java:69) 
05-04 16:32:40.667 10618-10618/? D/SecWifiDisplayUtil: Metadata value : SecSettings2 
05-04 16:32:40.667 10618-10978/? W/System.err:  at com.codename1.io.Util.readObject(Util.java:541) 
05-04 16:32:40.667 10618-10978/? W/System.err:  at com.codename1.io.Util.readObject(Util.java:638) 
05-04 16:32:40.667 10618-10978/? W/System.err:  at com.codename1.io.Storage.readObject(Storage.java:261) 
05-04 16:32:40.667 10618-10978/? W/System.err:  at com.codename1.io.Preferences.get(Preferences.java:83) 
05-04 16:32:40.667 10618-10978/? W/System.err:  at com.codename1.io.Preferences.get(Preferences.java:298) 
05-04 16:32:40.667 10618-10978/? W/System.err:  at com.codename1.impl.CodenameOneImplementation.initEDT(CodenameOneImplementation.java:235) 
05-04 16:32:40.667 10618-10978/? W/System.err:  at com.codename1.ui.Display.mainEDTLoop(Display.java:952) 
05-04 16:32:40.667 10618-10978/? W/System.err:  at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120) 
05-04 16:32:40.667 10618-10978/? W/System.err:  at com.codename1.impl.CodenameOneThread$1.run(CodenameOneThread.java:60) 
05-04 16:32:40.667 10618-10978/? W/System.err:  at java.lang.Thread.run(Thread.java:818) 

如果我强迫关闭我的应用程序只(不睡我的平板电脑),有一个与我的喜好值没有问题。

在iOS/Simulator/Emulator(Android)中不会出现此问题。我只注意到它在三星Galaxy Tab A运行Android 6.0.1

在此先感谢。

+0

它看起来像你放入一个对象到偏好实现externalizable不正确的可能吗? –

+0

不,我在偏好中只有原始类型。我有一个实现可外部化的对象,但它被放置在另一个文件中并且看起来正确 –

+0

您是否做过类似加密存储或其他任何事情? 您是否写入cn1preferences文件?你有没有改变偏好文件的路径? –

回答

1

这可能与线程访问应该合法的首选项有关。我已经在今天的更新中使两种潜在的破坏性方法同步,希望这可以解决这个问题。

+0

我没有注意到任何变化 –

+0

然后我怀疑这是一个竞争条件 –

+0

我没有在github中找到包含您的修改的提交。你能给我链接吗? –

相关问题