If I use updateTask(), then on a large number of tasks (> 300 elements) the UI starts to slow down. The update process takes up to 15 seconds. How can I solve this problem?
You may try using beginUpdate and endUpdate methods.
Invoke the beginUpdate before the many updateTask invocations. After updating the task call the endUpdate method.
This should help improve the performance.