The AOT compiler introduced with ART wasn't a clever decision.
When Microsoft introduced AOT compilation from Singularity into Windows 8, the compilation was done at the store, with dynamic linking done on-device.
Windows 10 UWP brought full static compilation on the store via .NET Native.
Google instead decided to do AOT compilation on the devices, which meant users had to wait several minutes, or even hours after major updates took place.
So with 7.0 they backtracked, using a quick interpreter written in Assembly, followed with a JIT doing PGO, which then took the overall information to feed into the AOT compiler, only called when the device is resting.
Updates trigger the process from the beginning.
Now with P, they will be sending PGO metada back to the store and share it between devices at installation time.
Yet, WP devices with AOT compilation at the store always felt faster as comparable Android class models.