      *  Flag set to true if the application has temporarily set its explicit
      *  width and height to deal with orientation.
      */ 
-    private var restoreApplicationWidthAndHeight:Boolean = false;
-    
-    /**
-     *  @private
-     *  Caches the application's width and height values for the portrait
-     *  and landscape orientations.
-     */
-    private var cachedSizes:Object;
+    private var explicitSizingForOrientation:Boolean = false;
+    
+    /**
+     *  @private
+     *  Caches the application's width and height values for better resizing
+     *  of the screen during orientation changes. Keys are composed of the width and
+     *  height values in a string of the form "w:h", e.g. "1004:768" and represent
+     *  the screen dimensions before the orientation change. Values are
+     *  objects containing width and height properties that represent the screen dimensions
+     *  after the orientation change.
+     */
+    private var cachedDimensions:Dictionary;
+    
+    /**
+     *  @private
+     *  Previous width of the application prior to an orientation change 
+     */    
+    private var previousWidth:Number;
+    
+    /**
+     *  @private
+     *  Previous height of the application prior to an orientation change 
+     */    
+    private var previousHeight:Number;
+    
+    /**
+     *  @private
+     *  Flag to determine if the keyboard is active during an orientation change,
+     *  to minimize renders during the orientation change.
+     */
+    private var keyboardActiveInOrientationChange:Boolean = false;
     
     /**
      *  @private

                    addEventListener(Event.DEACTIVATE, nativeApplication_deactivateHandler);
        }
    }
    
    /**
     *  @private
     */

     */
    private function resizeHandler(event:Event):void
    {
        // don't run while keyboard is up and orientation is changing
        if (keyboardActiveInOrientationChange)
            return;
        
        // If we're already due to update our bounds on the next
        // commitProperties pass, avoid the redundancy.
        if (!percentBoundsChanged)
