Недавно я столкнулся с той же проблемой (я хотел скопировать некоторые файлы из каталога активов), и это было в приложении, где ожидание в несколько секунд просто не могло ее сократить.AssetManager.list () слишком медленный.Поэтому я придумала решение, оно уродливое, но быстрое.
По крайней мере, в моем случае, поскольку папка ресурсов создается с приложением, я не часто меняю его.Поэтому я решил добавить файл в каталог ресурсов, в котором перечислены все файлы в ресурсах.Например:
somedir/somefile.txt
somedir/anotherdir/anotherfile.txt
somedir/anotherdir/yetanotherfile.txt
somedir/anotherdir/somanyfiles.txt
...
Таким образом, он загружает этот список, а затем перебирает список, вместо того, чтобы вызывать AssetManager.list ();
Это не красиво и не изящно, и, вероятно,нарушает все виды практики кодирования, но в моем случае это заняло операцию от 30 секунд до 300 миллисекунд, поэтому в моем случае это того стоило.
Если ваша папка ресурсов сильно меняется, и это будетБольно вручную обновлять список, вы, вероятно, могли бы поместить скрипт в процесс сборки, чем автоматически сделать этот файл списка каталогов для вас при сборке.