1. OnLowMemory() OnLowMemory()是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLowMemory。系统提供的回调有:Application/Activity/Fragementice/Service/ContentProvider 除了上述系统提供的API,还可以自己实现ComponentCallbacks,通过API注册,这样也能得到OnLowMemory回调。例如: public static class MyCallback implements ComponentCallbacks { @Override public void onConfigurationChanged(Configuration arg) { }
@Override public void onLowMemory() { //do release operation } } 然后,通过Context.registerComponentCallbacks ()在合适的时候注册回调就可以了。通过这种自定义的方法,可以在很多地方注册回调,而不需要局限于系统提供的组件。 2. OnTrimMemory() OnTrimMemory()是Android 4.0之后提供的API,系统会根据不同的内存状态来回调。系统提供的回调有:Application/Activity/Fragement/Service/ContentProvider OnTrimMemory的参数是一个int数值,代表不同的内存状态:
以上4个是4.0增加
系统也提供了一个ComponentCallbacks2,通过Context.registerComponentCallbacks()注册后,就会被系统回调到。 OnLowMemory和OnTrimMemory的比较 1,OnLowMemory被回调时,已经没有后台进程;而onTrimMemory被回调时,还有后台进程。 推荐一家即时通讯云开源商:yun2win:www.yun2win.com |
android onTrimMemory()和onLowMemory()详解
1. OnLowMemory() OnLowMemory()是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLowMemory。系统提供的回调有:Application/A...
·
转载于:https://my.oschina.net/cainiaodudu/blog/739311
更多推荐
已为社区贡献2条内容
所有评论(0)