am 786afcb3: Trim graphics memory when closing the shade
* commit '786afcb3eec18315ec54987a08814ff28f13d09f': Trim graphics memory when closing the shade
This commit is contained in:
@@ -330,6 +330,7 @@ void CanvasContext::trimMemory(RenderThread& thread, int level) {
|
||||
// No context means nothing to free
|
||||
if (!thread.eglManager().hasEglContext()) return;
|
||||
|
||||
ATRACE_CALL();
|
||||
thread.eglManager().requireGlContext();
|
||||
if (level >= TRIM_MEMORY_COMPLETE) {
|
||||
Caches::getInstance().flush(Caches::kFlushMode_Full);
|
||||
|
||||
@@ -40,6 +40,7 @@ import android.app.Notification;
|
||||
import android.app.PendingIntent;
|
||||
import android.app.StatusBarManager;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.ComponentCallbacks2;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
@@ -95,6 +96,7 @@ import android.view.ViewPropertyAnimator;
|
||||
import android.view.ViewStub;
|
||||
import android.view.ViewTreeObserver;
|
||||
import android.view.WindowManager;
|
||||
import android.view.WindowManagerGlobal;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.animation.AccelerateDecelerateInterpolator;
|
||||
@@ -2413,6 +2415,12 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
|
||||
setInteracting(StatusBarManager.WINDOW_STATUS_BAR, false);
|
||||
showBouncer();
|
||||
disable(mDisabledUnmodified, true /* animate */);
|
||||
|
||||
// Trimming will happen later if Keyguard is showing - doing it here might cause a jank in
|
||||
// the bouncer appear animation.
|
||||
if (!mStatusBarKeyguardViewManager.isShowing()) {
|
||||
WindowManagerGlobal.getInstance().trimMemory(ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean interceptTouchEvent(MotionEvent event) {
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.systemui.statusbar.phone;
|
||||
|
||||
import android.content.ComponentCallbacks2;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.os.RemoteException;
|
||||
@@ -24,6 +25,7 @@ import android.util.Slog;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManagerGlobal;
|
||||
|
||||
import com.android.internal.policy.IKeyguardShowCallback;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
@@ -268,6 +270,8 @@ public class StatusBarKeyguardViewManager {
|
||||
public void run() {
|
||||
mStatusBarWindowManager.setKeyguardFadingAway(false);
|
||||
mPhoneStatusBar.finishKeyguardFadingAway();
|
||||
WindowManagerGlobal.getInstance().trimMemory(
|
||||
ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user