This PR addresses the issue with missing MMETimerManager when the start is called. SDK has a lazy initialization and that's why MMETimerManager construction was postponed. However, if any client (like Maps SDK) will fire an event just after an object initialization it would lead to missing 180sec events flushing timer.
The actual fix is to move MMETimerManager init back to the object construction.
According to my metrics, it takes 90-100 nanoseconds to construct and has very little impact on performance.
Instruments report with multiple runs
This PR addresses the issue with missing
MMETimerManager
when thestart
is called. SDK has a lazy initialization and that's whyMMETimerManager
construction was postponed. However, if any client (like Maps SDK) will fire an event just after an object initialization it would lead to missing 180sec events flushing timer. The actual fix is to moveMMETimerManager
init back to the object construction. According to my metrics, it takes 90-100 nanoseconds to construct and has very little impact on performance. Instruments report with multiple runsFixes CORESDK-1430