30.3.1节省内存
1 当UI不可见时,释放相关资源:
在Activity的onPause函数中停止动画、停止视频播放和停止获取和传递设备当前的经纬度给服务器等。
在Activity的onStop函数中,取消当前页面的网络请求等。
在onTrimMemory() 方法中,接收到TRIM_MEMORY_UI_HIDDEN信号时,释放 UI 使用的内存资源,如图片占据的内存,这样减少内存消耗,也可避免被系统回收此APP使用的内存。
(onTrimMemory()方法中的TRIM_MEMORY_UI_HIDDEN回调只有当程序中的所有UI组件全部不可见的时候才会触发,这和onStop()方法还是有很大区别的,因为onStop()方法只是当一个Activity完全不可见的时候调用,比如说用户打开了程序中的另一个Activity。
可以在onStop()方法中去释放一些Activity相关的资源,比如说取消网络连接或者注销广播接收器等,但是像UI相关的资源应该一直要等到onTrimMemory(TRIM_MEMORY_UI_HIDDEN)这个回调之后才去释放,这样可以保证如果用户只是从程序的一个Activity回到了另外一个Activity,界面相关的资源都不需要重新加载,从而提升响应速度)
2 在解码JPG、PNG和GIF等格式的图片时,通过设置图片位数,可以有效减少使用的内存。
<