diff options
author | Jorge Ruesga <jorge@ruesga.com> | 2013-08-18 01:42:51 +0200 |
---|---|---|
committer | Jorge Ruesga <jorge@ruesga.com> | 2013-08-18 01:42:51 +0200 |
commit | 667e0a2fa2a9b643f588b486da474643e2c518d0 (patch) | |
tree | b7b759ba29521d909d0ee57ff10ab5c94137a339 /src | |
parent | c6d121d0fbc08914032a74f509bf9adcd9c88cc1 (diff) | |
download | android_packages_wallpapers_PhotoPhase-667e0a2fa2a9b643f588b486da474643e2c518d0.tar.gz android_packages_wallpapers_PhotoPhase-667e0a2fa2a9b643f588b486da474643e2c518d0.tar.bz2 android_packages_wallpapers_PhotoPhase-667e0a2fa2a9b643f588b486da474643e2c518d0.zip |
Destroy cached textures when system runs out of resources
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Diffstat (limited to 'src')
3 files changed, 35 insertions, 2 deletions
diff --git a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseActivity.java b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseActivity.java index 6469a18..973618d 100644 --- a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseActivity.java +++ b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseActivity.java @@ -156,4 +156,16 @@ public class PhotoPhaseActivity extends Activity implements OnTouchListener { } return false; } + + /** + * {@inheritDoc} + */ + @Override + public void onLowMemory() { + super.onLowMemory(); + Log.i(TAG, "onLowMemory"); + // Pause the wallpaper and destroy the cached textures + mRenderer.onPause(); + mRenderer.onLowMemory(); + } } diff --git a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java index a101ce0..6523b5d 100644 --- a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java +++ b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java @@ -203,7 +203,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer { } /** - * Method called when when renderer is created + * Method called when renderer is created */ public void onCreate() { if (DEBUG) Log.d(TAG, "onCreate [" + mInstance + "]"); @@ -221,7 +221,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer { } /** - * Method called when when renderer is destroyed + * Method called when renderer is destroyed */ public void onDestroy() { if (DEBUG) Log.d(TAG, "onDestroy [" + mInstance + "]"); @@ -238,6 +238,13 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer { } /** + * Method called when system runs under low memory + */ + public void onLowMemory() { + mTextureManager.emptyTextureQueue(false); + } + + /** * Method called when the renderer should be paused */ public void onPause() { diff --git a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseWallpaper.java b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseWallpaper.java index 5a09b49..8385032 100644 --- a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseWallpaper.java +++ b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseWallpaper.java @@ -165,6 +165,20 @@ public class PhotoPhaseWallpaper * {@inheritDoc} */ @Override + public void onLowMemory() { + super.onLowMemory(); + Log.i(TAG, "onLowMemory"); + for(PhotoPhaseRenderer renderer : mRenderers) { + // Pause the wallpaper and destroy the cached textures + renderer.onPause(); + renderer.onLowMemory(); + } + } + + /** + * {@inheritDoc} + */ + @Override public void onInitializeEGLView(GLSurfaceView view) { if (DEBUG) Log.d(TAG, "onInitializeEGLView"); } |