从第1天开始,我的应用就一直困扰着我们。
对于某些用户,由于未知原因,互斥体不会执行其工作。以下是代码示例:
object Tools {
val Mutex = kotlinx.coroutines.sync.Mutex()
...
}
然后用户:
Tools.Mutex.withLock {
DoSomeStuffWithZipFile()
}
现在几乎每个人都可以正常运行4个线程。但是对于Crashlytics报告中的某些内容,我发现所有4个线程当前都在锁内,试图在同一个zip文件中进行写入。
这是android 6/7/8,每个报告占32%的报告,其中9或更低的报告有问题。
此外,错误是,在带有“ rw”选项的RandomAccessFile()构造函数中没有这样的文件或目录,这本身就是很奇怪的...