本文整理匯總了Java中android.content.ComponentCallbacks2.TRIM_MEMORY_BACKGROUND屬性的典型用法代碼示例。如果您正苦於以下問題:Java ComponentCallbacks2.TRIM_MEMORY_BACKGROUND屬性的具體用法?Java ComponentCallbacks2.TRIM_MEMORY_BACKGROUND怎麽用?Java ComponentCallbacks2.TRIM_MEMORY_BACKGROUND使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類android.content.ComponentCallbacks2
的用法示例。
在下文中一共展示了ComponentCallbacks2.TRIM_MEMORY_BACKGROUND屬性的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: onTrimMemory
@Override
public void onTrimMemory(int level) {
switch (level) {
case ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN:
releaseUnUsedBitmaps(3);
break;
case ComponentCallbacks2.TRIM_MEMORY_BACKGROUND:
releaseUnUsedBitmaps(1);
break;
case ComponentCallbacks2.TRIM_MEMORY_MODERATE:
case ComponentCallbacks2.TRIM_MEMORY_RUNNING_MODERATE:
case ComponentCallbacks2.TRIM_MEMORY_RUNNING_LOW:
case ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL:
case ComponentCallbacks2.TRIM_MEMORY_COMPLETE:
releaseUnUsedBitmaps(0);
break;
}
}
示例2: trimMemory
/**
* @inheritDoc
*/
@Override
public void trimMemory(int level) {
if(level >= ComponentCallbacks2.TRIM_MEMORY_COMPLETE) {
emptyCache(); //dump the cache
}
else if (level >= ComponentCallbacks2.TRIM_MEMORY_MODERATE){
trimCache(0.5f); // trim to half the max size
}
else if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND){
trimCache(0.7f); // trim to one seventh max size
}
else if (level >= ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL){
trimCache(0.2f); // trim to one fifth max size
}
}
示例3: getTrimLevelName
/**
* 獲取修剪級別的名稱
*/
public static String getTrimLevelName(int level) {
switch (level) {
case ComponentCallbacks2.TRIM_MEMORY_COMPLETE:
return "COMPLETE";
case ComponentCallbacks2.TRIM_MEMORY_MODERATE:
return "MODERATE";
case ComponentCallbacks2.TRIM_MEMORY_BACKGROUND:
return "BACKGROUND";
case ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN:
return "UI_HIDDEN";
case ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL:
return "RUNNING_CRITICAL";
case ComponentCallbacks2.TRIM_MEMORY_RUNNING_LOW:
return "RUNNING_LOW";
case ComponentCallbacks2.TRIM_MEMORY_RUNNING_MODERATE:
return "RUNNING_MODERATE";
default:
return "UNKNOWN";
}
}
示例4: maybeNotifyMemoryPresure
public static void maybeNotifyMemoryPresure(int level) {
if (level >= ComponentCallbacks2.TRIM_MEMORY_COMPLETE) {
nativeOnMemoryPressure(MemoryPressureLevel.CRITICAL);
} else if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND
|| level == ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL) {
// Don't notifiy on TRIM_MEMORY_UI_HIDDEN, since this class only
// dispatches actionable memory pressure signals to native.
nativeOnMemoryPressure(MemoryPressureLevel.MODERATE);
}
}
示例5: onTrimMemory
@Override
public void onTrimMemory(final int level) {
log.info("onTrimMemory({}) called", level);
if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) {
log.warn("low memory detected, stopping service");
stopSelf();
}
}
示例6: onTrimMemory
@Override
public void onTrimMemory(final int level)
{
log.info("onTrimMemory({}) called", level);
if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND)
{
log.warn("low memory detected, stopping service");
stopSelf();
}
}
示例7: onTrimMemory
public void onTrimMemory(int level) {
Log.d(LOGTAG, "onTrimMemory() notification received with level " + level);
if (Versions.preICS) {
// This won't even get called pre-ICS.
return;
}
if (level == ComponentCallbacks2.TRIM_MEMORY_COMPLETE) {
// We seem to get this just by entering the task switcher or hitting the home button.
// Seems bogus, because we are the foreground app, or at least not at the end of the LRU list.
// Just ignore it, and if there is a real memory pressure event (CRITICAL, MODERATE, etc),
// we'll respond appropriately.
return;
}
switch (level) {
case ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL:
case ComponentCallbacks2.TRIM_MEMORY_MODERATE:
// TRIM_MEMORY_MODERATE is the highest level we'll respond to while backgrounded
increaseMemoryPressure(MEMORY_PRESSURE_HIGH);
break;
case ComponentCallbacks2.TRIM_MEMORY_RUNNING_MODERATE:
increaseMemoryPressure(MEMORY_PRESSURE_MEDIUM);
break;
case ComponentCallbacks2.TRIM_MEMORY_RUNNING_LOW:
increaseMemoryPressure(MEMORY_PRESSURE_LOW);
break;
case ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN:
case ComponentCallbacks2.TRIM_MEMORY_BACKGROUND:
increaseMemoryPressure(MEMORY_PRESSURE_CLEANUP);
break;
default:
Log.d(LOGTAG, "Unhandled onTrimMemory() level " + level);
break;
}
}
示例8: maybeNotifyMemoryPresure
private static void maybeNotifyMemoryPresure(int level) {
if (level == ComponentCallbacks2.TRIM_MEMORY_COMPLETE) {
nativeOnMemoryPressure(MemoryPressureLevelList.MEMORY_PRESSURE_CRITICAL);
} else if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND ||
level == ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL) {
nativeOnMemoryPressure(MemoryPressureLevelList.MEMORY_PRESSURE_MODERATE);
}
}
示例9: onTrimMemory
public void onTrimMemory(int level) {
if (level >= ComponentCallbacks2.TRIM_MEMORY_MODERATE) { // 60
Log.i(TAG, "###############################################");
Log.i(TAG, "### Clear all cache on TrimMemory Event " + level);
Log.i(TAG, "###############################################");
cacheEvictAll();
} else if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) { // 40
Log.i(TAG, "###############################################");
Log.i(TAG, "### Clear 1/2 cache on TrimMemory Event " + level);
Log.i(TAG, "###############################################");
cacheTrimToSize(cacheSize() / 2);
}
}
示例10: maybeNotifyMemoryPresure
public static void maybeNotifyMemoryPresure(int level) {
if (level >= ComponentCallbacks2.TRIM_MEMORY_COMPLETE) {
nativeOnMemoryPressure(MemoryPressureLevelList.MEMORY_PRESSURE_CRITICAL);
} else if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND ||
level == ComponentCallbacks2.TRIM_MEMORY_RUNNING_CRITICAL) {
// Don't notifiy on TRIM_MEMORY_UI_HIDDEN, since this class only
// dispatches actionable memory pressure signals to native.
nativeOnMemoryPressure(MemoryPressureLevelList.MEMORY_PRESSURE_MODERATE);
}
}
示例11: getDefaultTrimLevel
/**
* Provide the default trim level at which the database should be closed.
*
* @return the trim level at which the database should be closed.
* Default level is TRIM_MEMORY_BACKGROUND which indicates the database will be closed when the
* app is placed on the LRU list
*
* To disable or keep database open as long as possible use TRIM_MEMORY_COMPLETE or something larger.
* @see ComponentCallbacks2
*/
public int getDefaultTrimLevel() {
return ComponentCallbacks2.TRIM_MEMORY_BACKGROUND;
}