У меня есть проблема, которая мучает мое приложение с первого дня.
Для некоторых пользователей по неизвестной причине Mutex не выполняет свою работу.Вот примеры кода:
object Tools {
val Mutex = kotlinx.coroutines.sync.Mutex()
...
}
Затем пользователь:
Tools.Mutex.withLock {
DoSomeStuffWithZipFile()
}
Теперь почти для всех, он работает безупречно с 4 запущенными потоками.Но для некоторых отчетов Crashlytics я вижу, что все 4 потока в настоящее время находятся в замке, пытаясь записать один и тот же zip-файл.
Это Android 6/7/8, получивший 32% отчетакаждый, с 9 и ниже, которые имеют проблемы.
Кроме того, ошибка ENOENT нет такого файла или каталога в конструкторе RandomAccessFile () с опцией "rw", что странно само по себе ...