The Visualforce view state is used to maintain the state of a page across multiple requests to the server. If a Visualforce page contains an <apex:form />
tag, it will also contain a hidden input field with the encrypted view state as its value.
The view state contains the following information:
All non-transient members of the page's controller (regardless of whether this is a standard or custom controller) and all controller extensions
The object graph for everything that is reachable from one of the non-transient members detailed in the previous bullet point
The component tree for the page
Internal housekeeping data for the Visualforce framework
The maximum size of the entire view state is 135 Kb. Typically, Visualforce developers don't worry too much about the size of the view state until this limit is exceeded. However, as the view state makes a round-trip to the server with every request, reducing the size has a direct impact on page...