Also, again, I’d like to object to the “Android fragmentation” canard. That’s a projection from iOS users; “Android updates” mean a very different thing than “iOS update”.
Android is modular, iOS is monolothic. In iOS, new features, new apps, security patches, even new version of apps (mail, browser…) are linked to OS updates. Not so in Android: a lot of “OS” features are rolled out independently of OS version, apps are mostly updated separately via the Playstore, security patches are rolled out separately; as are new apps.
Example: Apple rolls out Pay, Health, LivePics… you need to update iOS to get that. Even for a new version of Apple Music etc… Android rolls out Pay, Wear, Music… no OS update required.
I understand living with no OS update is inconceivable to an iOS user. To an Android user, because OS updates cover a lot smaller ground, it’s merely meh.
Furthermore, Android allows for a lot of system tools (launcher, lockscreen, …) and basic apps (mail, browser, dialer, contacts, calendar…) to be switched out; so if you OS apps got stale… just get new ones off the PlayStore !
And lastly, the whole dev chain is geared for slow OS updates. Google supplies libraries to backport some/most new features to older OSes; or at least to degrade beautifully. Devs don’t have to write 5 versions of an app to target 5 versions of the OS, but just to include extra libraries and be a bit careful. For example, the 2 main alternative Homescreen (Launcher) apps already have support for Oreo’s “adaptive icons”.