I encountered some strange behavior.
In Android project of Xamarin.Forms, it seems like old compiled binaries are used on Debug when "Enable developer instrumentation" is on.
First of all, HogeView uses ViewA and ViewB, so when instancing HogeView, the constructors of ViewA and ViewB are called. I checked it by setting a breakpoint.
Second, I deleted ViewA and ViewB from the XAML of HogeView and add a line like "throw new Exception("xxx")" in the constructor of HogeView.
Normally, an exception will happen when instancing HogeView, but it doesn't and the constructors of ViewA and ViewB are still called if "Enable developer instrumentation" is on.
If I changed "Enable developer instrumentation" to off, an exception happens on instancing HogeView and the constructors aren't called. I check it by adding a line like "throw new Exception("xxxA")" to both constructors too and exceptions didn't happen from both constructor.
Before the test, I deleted all files under bin and obj and did Build Clean and Rebuild.
I repeated turning on and off and restart machine while that, but the situation is same.
It seems like some old compiled binaries or something are used when "Enable developer instrumentation" is on, but if it's true, where they are?
Or I forget something to do?