I looked around in the framework and I saw that once you call methods like invalidate() without the updatemode argument, the updatemode automatically got set to 4, which makes the screen keep flashing when you scroll.

Just a thought...
If calling it without an argument sets it to 4, then there might be somewhere this default is set.

If we're lucky it could even be set using the const name...
ie. What happens if you change: