Thomas Stocker
Thomas Stocker
Can you try this build? Because it's the first time that the appveyor build went through. https://ci.appveyor.com/project/pauldendulk/mapsui/builds/44653168/artifacts
I had a quick look at it (I profiled it in Windows UWP). What I saw was that most time was used drawing the pathes in Skia. So it could...
Maybe somewhere in mapsui there is a async void function without error handling meaning that an exception occurs which kills the thread. For finding this out some more error handling...
I agree with you, I made a quick test on an Samsung Tablet, but it worked without problems. So I guess I will create a pull request that logs more...
I had a look what changed between this dates I suspect this Checkin https://github.com/Mapsui/Mapsui/commit/0eef51492beeb6bf8b716efdbee86cefb08959a4 Because according to this stackOverflow https://stackoverflow.com/questions/24139084/semaphoreslim-waitasync-before-after-try-block this can deadlock ``` await _providerLock.WaitAsync(); try { var features...
I have made a pull request that replaces the semaphore slim https://github.com/Mapsui/Mapsui/pull/1663. Maybe this helps
I had again a look at the code, and I have the feeling that the whole Fetcher architecture isn't totally thread safe. I think the callouts are constantly created and...
So rewriting this with channels as @pauldendulk suggested could solve the problem.
This is the code that causes the problems. in GetFeaturesAsync ``` lock (_syncRoot) { foreach (var item in Collection) { ``` 1) this lock should be an asynclock so when...
Maybe for the ConcurrentObservableCollection https://github.com/stewienj/SwordfishCollections can be used.