ComponentCallbacks源码分析
ComponentCallbacks源码
- 当组件还在运行时变更configuration,onConfigurationChanged()会被调用
- 当系统内存不足时会调用onLowMemory(),可重写释放缓存或不必要的资源
public interface ComponentCallbacks {
void onConfigurationChanged(Configuration newConfig);
void onLowMemory();
}
ComponentCallbacks2源码
ComponentCallbacks2是ComponentCallbacks的扩展接口,以下常量用于onTrimMemory()缩减内存,分别为
- 应用处于LRU末尾,内存不足时会被杀掉
- 应用处于LRU中间,清理内存获得更好的性能
- 应用刚进入LRU,可以考虑清资源
- 应用UI已被隐藏,分配给UI的内存应该被回收
- 内存严重不足,需释放尽可能多的非必要资源,接下来将调用onLowMemory()
- 内存不足,应该需释放一些非必要资源
- 内存不足,可能需释放一些非必要资源
public interface ComponentCallbacks2 extends ComponentCallbacks {
static final int TRIM_MEMORY_COMPLETE = 80;
static final int TRIM_MEMORY_MODERATE = 60;
static final int TRIM_MEMORY_BACKGROUND = 40;
static final int TRIM_MEMORY_UI_HIDDEN = 20;
static final int TRIM_MEMORY_RUNNING_CRITICAL = 15;
static final int TRIM_MEMORY_RUNNING_LOW = 10;
static final int TRIM_MEMORY_RUNNING_MODERATE = 5;
void onTrimMemory(int level);
}