image.png
// 设置该配置属性会使 Activity在配置改变时不重启,只执行onConfigurationChanged()
// 上述语句表明,设置该配置属性可使 Activity 在屏幕旋转时不重启
image.png
onLowMemory
Android 4.0前 检测内存使用情况 监听 Android系统整体内存较低时刻 onLowMemory
OnTrimMemory
Android 4.0后的替代 API
根据当前内存使用情况进行自身的内存资源的不同程度释放,以避免被系统直接杀掉 & 优化应用程序的性能体验
image.png
系统在内存不足时会按照LRU Cache中从低到高杀死进程;优先杀死占用内存较高的应用
若应用占用内存较小 = 被杀死几率降低,从而快速启动(即热启动 = 启动速度快)
可回收的资源包括:
a. 缓存,如文件缓存,图片缓存
b. 动态生成 & 添加的View
image.png
onTrimMemory()中的TRIM_MEMORY_UI_HIDDEN与onStop()的关系
onTrimMemory()中的TRIM_MEMORY_UI_HIDDEN的回调时刻:当应用程序中的所有UI组件全部不可见时
Activity的onStop()回调时刻:当一个Activity完全不可见的时候
使用建议:
在 onStop()中释放与 Activity相关的资源,如取消网络连接或者注销广播接收器等
在onTrimMemory()中的TRIM_MEMORY_UI_HIDDEN中释放与UI相关的资源,从而保证用户在使用应用程序过程中,
UI相关的资源不需要重新加载,从而提升响应速度
注:onTrimMemory的TRIM_MEMORY_UI_HIDDEN等级是在onStop()方法之前调用的
onTerminate
调用时刻:应用程序结束时调用
但该方法只用于Android仿真机测试,在Android产品机是不会调用的
网友评论