Android 常用的内存优化方法
来源:互联网 发布:淘宝买家最高等级是谁 编辑:程序博客网 时间:2024/04/28 17:07
常用的内存优化方法:
代码优化
Bitmap优化
ListView优化
界面更新及线程优化
数据库优化
代码优化:
尽量减少对某些资源和对外象的长期的引用,
1、由于我们程序的失误,长期保持某些资源(如Context)的引用,造成内存泄露,资源造成得不到释放。应该尽量避免static成员变量引用资源耗费过多的实例,比如Context。
2、Context尽量使用Application
3、 使用WeakReference代替强引用。比如可以使用WeakReference
Bitmap优化:
1、及时的销毁。
虽然,系统能够确认Bitmap分配的内存最终会被销毁,但是由于它占用的内存过多,所以很可能会超过java堆的限制。因此,在用完Bitmap时,要及时的recycle掉。recycle并不能确定立即就会将Bitmap释放掉,但是会给虚拟机一个暗示:“该图片可以释放了”。
2、设置一定的采样率。
有时候,我们要显示的区域很小,没有必要将整个图片都加载出来,而只需要记载一个缩小过的图片,这时候可以设置一定的采样率,那么就可以大大减小占用的内存。如下面的代码:
3、巧妙的运用软引用(SoftRefrence)
4、图片尽量使用9path图片
5、颜色配置如果对图片要求质量高则设置ARGB_8888(一个像素4个字节),要求一般则设置为ARGB_4444(一个像素2个字节),,要求较低则使用ALPHA_8(一个像素1个字节),
ListView优化
使用viewHolder减少对象的创建
使用convertView使用已创建过的对象
尽量使用分批加载或分页加载
在快速滑动的时候不更新当前条目的内容(根据listView的onScrollView
图片使用三级缓存策略
界面更新及线程优化
不要在主线程中做耗时的操作,如果有耗时的操作需要另开线程
在应用中不要开太多的线程,线程太多无法控制线程的生命周期,导致内存泄漏
尽量使用线程池
数据库优化
在使用完数据库以后尽量关闭连接
使用索引增加查询速度
尽量使用联合查询 避免多次查询
尽量使用事务
- Android 常用的内存优化方法
- Android的内存优化方法
- 常用的性能优化手段(内存优化方法)
- android 内存优化方法
- Android内存优化方法
- iOS内存优化常用方法
- iOS内存优化常用方法
- iOS内存优化常用方法
- 优化Android应用内存的若干方法
- 优化Android应用内存的若干方法
- 优化Android应用内存的若干方法
- 优化Android应用内存的若干方法
- 优化Android应用内存的若干方法
- 优化Android应用内存的若干方法
- 优化Android应用内存的若干方法
- 优化Android应用内存的若干方法
- 优化Android应用内存的若干方法
- iOS 性能优化/内存优化常用方法
- Keil 中新建STM32F302 工程
- cxgrid 添加图片
- Oracle 游标使用全解
- java.lang.RuntimeException: Unable to start activity ComponentInfo解决方案
- Java线程池使用说明
- Android 常用的内存优化方法
- Ubuntu环境下SSH的安装及使用
- BMP文件结构
- 龙芯8089d - gentoo - 终端(字符)界面无线连接方法
- 批处理学习总结之常用符号
- leetcode - Reverse Words in a String
- 面试题10 二进制中1的个数
- 自动检测iOS网络并可跳转至设置界面设置网络
- GDB常用调试命令