Hello everyone,
I am developing an iOS application using the ArcGIS SDK (version 100.15.0) and am encountering performance issues under specific conditions, for which I am seeking advice.
Problem Details:
- My app handles approximately 1800 FeatureLayers from 9 different mmpks, with each mmpk containing between 20 to 1000 layers. These layers include various types, such as those showing routes to specific locations or guide points, and can overlap in display.
- Depending on the scale, up to about 140 layers can be displayed at a time. It's important to note that not all layers are loaded at once; only those within the current viewing range are added. As the viewing range changes due to scrolling or moving to a different location, new layers within this range are added, and those outside are removed.
- However, when interacting with these layers, the app's performance significantly degrades, especially noticeable during map rotation operations. The CPU usage peaks at around 480%, and memory usage reaches about 4GB, leading to crashes due to insufficient memory.
Development Environment:
- Xcode 14.3.1
- iOS 16
- Device Used: iPad Pro 12.9 inch
Questions:
- Could the sheer number of layers within each mmpk be the cause of these performance issues?
- Is merging layers a potential solution?
- What is the recommended number of layers within a single mmpk?
- Additionally, I feel there may be an issue with the granularity of the layers. What is the recommended size for each layer in terms of square kilometers?
If anyone has experienced similar issues or knows potential solutions, your insights and suggestions would be greatly appreciated.
Thank you very much.