I'm wondering if there's something wrong with my app architecture.
The app's main file has 3 states which activate a different components (more like views).
<s:State name="view1" />
<s:State name="view2" />
<s:State name="view3" />
<comp:View1 includeIn="view1" />
<comp:View2 includeIn="view2" />
<comp:View3 includeIn="view3" />
The components/views actually share parts.
View1 = Part1, Part2, Part3,
View2 = Part1, Part4, Part5
View3 = Part2, Part3, Part5
What I'm noticing is that a common component (e.g. Part1) re-initializes when I switch between views (e.g. View1 and View2). Is this normal? This means that if Part1 had values when it was in View1, all those values are lost when the app switches to View2 and vice versa.
Any comments someone can give on what I'm doing?
Yes, each your 'common' component is 'reinitialized'. Actually, each MXML tags is a new instance of a component. You should keep your state in models (heared anything about MVC?). Take a look at Cairngorm for some ideas for your application architecture.