Android: isn't saveInstanceState called too often?
In my activity saveInstanceState is called when I move to the next activity (ex.: activity A starts Activity B and activity A's saveInstanceState is called) - is it normal behaviour? As far as I understand (from documentation), saveInstanceState is called when OS shuts down process to reclaim resources.
Whenever your activity disappears from the screen, the state will be saved for further representations. Say you perform a screen orientation change. As you might know, whenever this happens the view is recreated completely. The way Android does it to keep the state of things is to save the state before destroying and re-creating.
As far as I understand (from documentation), saveInstanceState is called when OS shuts down process to reclaim resources.
No. It is called in any activity transition where there is a chance that Android will want to destroy your activity, yet want to recreate that activity and have it look like it had never been destroyed. The common case is a configuration change (e.g., rotate the screen), but it will come up in other cases as well.
In particular, Android cannot wait until "OS shuts down process to reclaim resources", because by then, Android may be in a serious hurry to get those resources.