我正在使用 Square 的Tape库将数据上传到服务器排队。
队列以 JSON 格式存储在 File 中。当应用程序启动时,我初始化队列并开始上传(即,如果在 Wifi 上)但是在用户的某些设备上,我看到EOFException
消息'null'
(登录 crashlytics)。
FileObjectQueue
从现有文件创建对象时会发生错误- 从调试信息收集的实际文件约为 1MB。
任何想法是什么导致了这种情况或如何防止它?- 也许我需要清理一下我的 java.io。
编辑:使用磁带 v1.2.1
Caused by: java.io.EOFException
at java.io.RandomAccessFile.readFully(RandomAccessFile.java:419)
at java.io.RandomAccessFile.readInt(RandomAccessFile.java:439)
at com.squareup.tape.QueueFile.readElement(:182)
at com.squareup.tape.QueueFile.readHeader(:162)
at com.squareup.tape.QueueFile.(:110)
at com.squareup.tape.FileObjectQueue.(:35)
at com.myapp.queue.MyUploadTaskQueue.create(:125)
更新- 自升级到 1.2.2 后也看到此错误
Caused by: java.io.IOException: File is corrupt; length stored in header is 0.
at com.squareup.tape.QueueFile.readHeader(:165)
at com.squareup.tape.QueueFile.<init>(:117)
at com.squareup.tape.FileObjectQueue.<init>(:35)