在Android上重新启动我的应用时出现EOFException

时间:2017-05-04 14:51:32

标签: codenameone

在我在Android上使用我的应用程序的特定情况下,我在首选项(CN1Preferences)中丢失了值。

当我第一次启动应用程序时,我在“首选项”中保存了一些值。如果我关闭我的应用程序(从后台任务)然后我睡觉我的平板电脑,当我重新启动应用程序时,首选项中保存的值将丢失。这是我重新启动后获得的日志:

    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)中不会出现此问题。我只在运行Android 6.0.1的三星Galaxy Tab A上注意到它

提前致谢。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

就我而言,我复制了一个工作项目以启动一个新项目。我离开了文件 keystore.jks(要上传到Google Play的密钥库)为空,因此在编译时遇到此异常。

我刚刚在应用程序级别android/buildTypes的{​​{1}}部分中删除了 signingConfig 行,并且它起作用了。

可能是您遇到了此类问题,一个被遗忘的空文件不应该为空。