Why do devs ask to clean flash for most builds?
CUZ THEY DONT KNOW WHAT USERS WILL BE HAVING IN ADDITION TO JUST ROM AND GAPPS.
And saying clean flashing will reduce device life, ofc normal usage will do it. It's like saying "Oh, don't use your storage to read and write files, it'll be worn out soon. Better don't use it all."
Chances of storage losing out completely due to repeated flashing is very low and it happens after an extensive period of time (more than 3 years)
This becomes even worse with Android N
On android N since we have a JIT compiler compilation occurs on the fly and clean flashing just forces the phone to redo the optimisation all over again. Did you ever see android system using a lot of battery after a clean flash? That's because it's re-optimising everything that was already optimised
Since after a clean flash nothing is really optimised and the JIT is still optimising everything CPU cycles are being used up and battery drain does occur.
Okay let's think about charging times.
Read
https://source.android.com/devices/tech/dalvik/configure
So when the device is idle and charging it's going to optimise. That means it's going to run hotter and we all know what charging when a battery is hot does to batteries
Now imagine forcing this optimisation over and over again for every build
Storage wear
Let's say that a ROM has weeklies. User clean flashes each weekly and restores a 40 GB backup
Let's see in a month he writes 40 * 4 = 160gb
Oh wait how about a year? 160*52/64 is literally writing to the chip 130 times
Let's add the writes needed to flash the ROM, to backup the data and restore it, to build the dalvik
You'll end up with a count higher than 1000 full writes/year
Oh wait, that's just for weeklies. We got some users flashing nightlies
Oh man imagine what clean flashing could be doing
I have said this countless times and I'll say it again
Do not clean flash unless absolutely necessary