java内存优化的四种方法 java内存优化的方法总结
小妮浅浅 人气:01、不必要的自动装箱。
自动装箱是将基础数据类型转换为相应的复杂类型,在HashMap的追加删除调查中充满了自动装箱问题,因此尽量避免HashMap代替SparseArray和ArrrayMap等问题。
2、内存复用。
资源复用:通用字符串、颜色、布局。
视图复用:类似于RecyclerView的优化再利用。
目标池:创建目标池,无需重复创建目标,类似于线程池,messae享受元模式。
Bitmap对象复用:使用inBitmap属性,Bitmap解码器可以通知Bitmap解码器使用已经存在的存储区域,新解码的bitmap可以尝试使用以前bitmap在heap中占有的存储区域。
3、App内存过低时,可以自主释放内存。
在App退出后台的内存紧张被Kill丢失的情况下,选择重写Application中onTrimmemory/onLowMemory方法,释放图像缓存、静态缓存。
4、优化其他场景。
item在无法回收的情况下释放了图像的引用。
使用字符串连接时,请尽量使用StringBuilder、StringBuffer(内存抖动)
定制view减少onDraw的时间和执行次数。
尽量使用静态内部类。
尽量使用基础数据类型。
适当时使用软/弱引用。
内容扩展:
对程序员们来说,代码优化是一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的。
代码优化的目标是:
1、减小代码的体积
2、提高代码运行的效率
加载全部内容