Reducing memory impact of hardware layers in Launcher

- Disabling hardware layers in customize tray
- Destroying hardware layers for pages in All Apps that are not visible
- Re-adding CachedTextView for icons in customize tray (to regain some of the lost performance there)
diff --git a/src/com/android/launcher2/PagedViewCellLayoutChildren.java b/src/com/android/launcher2/PagedViewCellLayoutChildren.java
index 1359a43..27da02a 100644
--- a/src/com/android/launcher2/PagedViewCellLayoutChildren.java
+++ b/src/com/android/launcher2/PagedViewCellLayoutChildren.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 import android.graphics.Rect;
-import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
 
@@ -39,7 +38,6 @@
 
     public PagedViewCellLayoutChildren(Context context) {
         super(context);
-        setLayerType(LAYER_TYPE_HARDWARE, null);
     }
 
     @Override
@@ -140,6 +138,17 @@
         }
     }
 
+    void destroyHardwareLayer() {
+        if (getLayerType() == LAYER_TYPE_HARDWARE) {
+            setLayerType(LAYER_TYPE_NONE, null);
+        }
+    }
+    void createHardwareLayer() {
+        if (getLayerType() == LAYER_TYPE_NONE) {
+            setLayerType(LAYER_TYPE_HARDWARE, null);
+        }
+    }
+
     public void enableCenteredContent(boolean enabled) {
         mCenterContent = enabled;
     }