Мое приложение в настоящее время имеет интересную проблему. Эта проблема связана с OpenMap, но, вероятно, может быть применена к любой сторонней библиотеке.
В этом конкретном примере нашему коду необходимо создать наш инструмент OpenMap, загрузить его слои (в фоновом режиме) и сделать снимок экрана с определенной точкой интереса.
Однако проблема в том, что библиотека OpenMap создает свои собственные потоки для загрузки этих слоев, возвращаясь к нашему коду, чтобы сделать снимок экрана немедленно, и в большинстве случаев снимок экрана пуст или неполон.
Псевдокод нашего приложения выглядит следующим образом:
check database for layers
load layers using OpenMap
take screenshot of map at point of interest
Я предположил, что какое-то управление потоками было в порядке, но как это можно сделать, когда библиотека использует свои собственные потоки, к которым у нас нет доступа? Кроме того, OpenMap не имеет возвратов или флагов, указывающих, что этот поток завершен (что я видел).
Есть предложения?
Спасибо