У меня есть следующий ArrayList файла.
var a = ArrayList<File>()
var b = ArrayList<File>()
var c = ArrayList<File>()
var d = ArrayList<File>()
var e = ArrayList<File>()
После запуска приложения вышеупомянутый ArrayList будет заполнен более чем 144 000 файлами. Общий размер всего этого вместе составит почти 3,5 ГБ. Я хочу отсортировать их по lastModified () или length () в течение одной секунды и обновить измененный ArrayList в RecyclerView.
Для простоты сортировки я сделал выше ArrayList в Array<ArrayList<File>>
следующим образом:
val mList = arrayOf(a,b,c,d,e)
Для ускорения работы я делаю все в фоновом потоке. Код:
doAsync {
mList.forEach{ index ->
index.sortByDescending { it.lastModified() }
}
activityUiThread {
setRecyclerViewAdapter() // Update RecyclerView with new sorted files
}
}
Ссылка на библиотеку, которую я использовал для сортировки файлов, выполняется в фоновом потоке: https://github.com/Kotlin/anko
Для выполнения приведенного выше кода требуется 3-5 секунд. , Я хочу, чтобы это было сделано в течение секунды. Как решить эту проблему? Я делаю это для android.
При необходимости я готов изменить API для выполнения фоновой задачи