OSDN Git Service

Properly destroy background bitmap loader in onDestroy().
authorRomain Guy <romainguy@android.com>
Mon, 14 Sep 2009 22:25:34 +0000 (15:25 -0700)
committerRomain Guy <romainguy@android.com>
Mon, 14 Sep 2009 22:25:34 +0000 (15:25 -0700)
Change-Id: Ie4d5130fc5fe937ad2f4631198e31c9805f1bc97

src/com/android/launcher/WallpaperChooser.java

index 4edf448..c2ab773 100644 (file)
@@ -108,6 +108,16 @@ public class WallpaperChooser extends Activity implements AdapterView.OnItemSele
         mIsWallpaperSet = false;
     }
 
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        
+        if (mLoader != null && mLoader.getStatus() != WallpaperLoader.Status.FINISHED) {
+            mLoader.cancel(true);
+            mLoader = null;
+        }
+    }
+
     public void onItemSelected(AdapterView parent, View v, int position, long id) {
         if (mLoader != null && mLoader.getStatus() != WallpaperLoader.Status.FINISHED) {
             mLoader.cancel(true);
@@ -203,6 +213,10 @@ public class WallpaperChooser extends Activity implements AdapterView.OnItemSele
                 drawable.setDither(true);
 
                 view.postInvalidate();
+
+                mLoader = null;
+            } else {
+               b.recycle(); 
             }
         }
     }