diff --git a/src/com/android/launcher2/AllAppsView.java b/src/com/android/launcher2/AllAppsView.java
index 8ee995c..baa7174 100644
--- a/src/com/android/launcher2/AllAppsView.java
+++ b/src/com/android/launcher2/AllAppsView.java
@@ -157,6 +157,13 @@
         setOnLongClickListener(this);
         setZOrderOnTop(true);
         getHolder().setFormat(PixelFormat.TRANSLUCENT);
+
+        mRS = createRenderScript(true);
+    }
+
+    @Override
+    protected void onDetachedFromWindow() {
+        destroyRenderScript();
     }
 
     /**
@@ -192,8 +199,7 @@
 
         super.surfaceChanged(holder, format, w, h);
 
-        if (mRS == null) {
-            mRS = createRenderScript(true);
+        if (mRollo == null) {
             mRollo = new RolloRS();
             mRollo.mHasSurface = true;
             mRollo.init(getResources(), w, h);
@@ -204,11 +210,10 @@
                 gainFocus();
                 mShouldGainFocus = false;
             }
-            mRollo.dirtyCheck();
         } else {
             mRollo.mHasSurface = true;
-            mRollo.dirtyCheck();
         }
+        mRollo.dirtyCheck();
 
         mRS.mMessageCallback = mMessageProc = new AAMessage();
 
@@ -298,7 +303,7 @@
     public boolean onKeyDown(int keyCode, KeyEvent event) {
 
         boolean handled = false;
-        
+
         if (!isVisible()) {
             return false;
         }
