Айоваит убивает производительность на Android
Это на Android, мое приложение замедляет взаимодействие с пользовательским интерфейсом, когда оно пытается создать большой файл, моя SD-карта работает медленно, и я могу наблюдать, как высоко iowait
происходит, и процессор просто бездействует при создании большого файла, во время этого процесса приложение вяло, взаимодействие с пользовательским интерфейсом не отвечает, это выглядит нормально, так как моя SD-карта работает медленно, и это то, что ожидается с высокой iowait
,
Я где-то читал, что пока кто-то использует асинхронный ввод-вывод, iowait
не повлияет на производительность приложения, теперь я не совсем понимаю, что я создаю большой файл в фоновом потоке, который параллельно работает вместе с потоком пользовательского интерфейса, и я думаю, что он не должен блокировать пользовательский интерфейс нить. Да, я не использую Java IO API, не поддерживающий blcoking, но разве этого недостаточно, чтобы быть асинхронным с помощью фонового потока?
PS Я создаю большой файл, открыв RandomAccessFile
а также seek
в указанной позиции.