summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src
diff options
context:
space:
mode:
authorjshe32X <jianchunx.shen@intel.com>2013-10-24 12:57:09 +0800
committerGuobin Zhang <guobin.zhang@intel.com>2014-03-14 08:09:49 +0800
commit7670b2bd49915509dac72c98f2b6a2c1172c52bf (patch)
treee7f4cb5e7075900d5d80e93e3ef2e993efb61a34 /packages/SystemUI/src
parent792f38ddd9e8d25b2c8bf0d67363dbfa56550636 (diff)
downloadframeworks_base-7670b2bd49915509dac72c98f2b6a2c1172c52bf.zip
frameworks_base-7670b2bd49915509dac72c98f2b6a2c1172c52bf.tar.gz
frameworks_base-7670b2bd49915509dac72c98f2b6a2c1172c52bf.tar.bz2
NULL previous background bitmap upon changing wallpaper
Step to reproduce it on Nexus 10 with 4.4.2(KOT49H): 1. Long press on home screen. 2. Choose wallpaper from Wallpapers. 3. Select new wallpaper and set it. 4. Repeat step 1-3 several times. See black background instead of the wallpaper. There are two binder objects who hold reference to the ImageWallpaper$DrawableEngine, which keeps the big chunk bitmap from being recycled. One is WallpaperService$IWallpaperEngineWrapper. The client references went away slowly, maybe several minutes after changing wallpaper. Then the finalizer has to been executed to GC it. The other one is WallpaperService$Engine$BaseIWindow. Don't know who still held reference to it even after the window was removed. Anyway, let the bitmap be GCed first. Change-Id: I27f6971a3edd26472b69e59b542b27fd7c8e7b90 Signed-off-by: jshe32X<jianchunx.shen@intel.com> Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
Diffstat (limited to 'packages/SystemUI/src')
-rw-r--r--packages/SystemUI/src/com/android/systemui/ImageWallpaper.java1
1 files changed, 1 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
index 4b0c2cb..d940406 100644
--- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
@@ -202,6 +202,7 @@ public class ImageWallpaper extends WallpaperService {
if (mReceiver != null) {
unregisterReceiver(mReceiver);
}
+ mBackground = null;
}
@Override