Reducir la carga en el hilo principal cuando se usa Dispatch_get_main_queue ()
-
25-10-2019 - |
Pregunta
Estoy generando muchas miniaturas en la aplicación de mi iPhone usando GCD. Tengo algo que se ve así:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// generate thumbnail
// store thumbnail
dispatch_async(dispatch_get_main_queue(), ^{
// display thumbnail (cellForRowAtIndexPath and cell.imageView.image = ..
});
);
Funciona bastante bien, pero me gustaría reducir la prioridad para el bloque de visualización, para tener un hilo de UI más receptivo.
Solución
La cola principal (asociada con el hilo principal) no tiene prioridad. No puedes cambiar su prioridad.
De todos modos, en su lugar puede publicar un NSNotification
utilizando el NSPostWhenIdle
Estilo de publicación. Esto permitirá que su código se ejecute solo cuando su aplicación tenga algún tiempo de inactividad. Ver Aquí en la Guía de programación de documentación / dedicada sobre tales técnicas.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow