java内存优化的方法总结

作者:小妮浅浅 时间:2022-12-01 22:25:20 

1、不必要的自动装箱。

自动装箱是将基础数据类型转换为相应的复杂类型,在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、提高代码运行的效率

来源:https://www.py.cn/java/jiaocheng/30958.html

标签:java,内存优化
0
投稿

猜你喜欢

  • 详解Java8与Runtime.getRuntime().availableProcessors()

    2023-01-04 18:17:06
  • Android使用Websocket实现聊天室

    2023-07-07 13:01:59
  • springboot集成Swagger的方法(让你拥有属于自己的api管理器)

    2023-11-08 20:39:15
  • HashSet和TreeSet使用方法的区别解析

    2022-05-03 12:54:05
  • JDK14性能管理工具之jstack使用介绍

    2022-10-11 18:48:01
  • C# 多窗口委托通信的实现

    2023-01-22 02:21:31
  • 详解android 中animation-list 动画的应用

    2022-09-13 18:28:31
  • C#使用Ado.net读取Excel表的方法

    2022-04-22 02:01:47
  • C#支付宝扫码支付代码完整版

    2021-07-19 18:48:08
  • 介绍java中Pair(配对)

    2021-09-03 10:15:39
  • PageHelper在springboot+mybatis框架中的使用步骤及原理解析

    2023-07-28 21:40:09
  • 浅谈Java中的重载,重写,多态,静态绑定、动态绑定

    2023-10-10 02:40:05
  • LINQ基础之From和GroupBy子句

    2023-06-09 02:46:29
  • 经典实例讲解C#递归算法

    2022-04-11 22:34:16
  • AndroidStudio Gradle基于友盟的多渠道打包方法

    2022-02-24 22:04:43
  • OpenCV实现平均背景法

    2023-06-28 18:25:41
  • C#实现系统托盘通知的方法

    2023-04-17 08:40:02
  • hadoop运行java程序(jar包)并运行时动态指定参数

    2023-07-27 11:02:10
  • mybatis 运行时加载自定义mapper文件方式

    2023-08-16 10:00:16
  • Android动画之雷达扫描效果

    2021-06-10 08:06:52
  • asp之家 软件编程 m.aspxhome.com