每次new Thread新建对象性能差。
线程缺乏统一管理,可能无限制新建线程,相互之间竞争及可能占用过多系统资源导致死机或oom。

缺乏更多功能,如定时执行、定期执行、线程中断。

OutOfMemoryError即OOM的可能原因?

  • 数据库的cursor没有及时关闭
  • 未关闭InputStream outputStream
  • Bitmap 使用后未调用recycle()
  • static等关键字
  • 非静态内部类持有外部类的引用context泄露
  • 流量/数据量峰值:应用程序在设计之初均有用户量和数据量的限制,某一时刻,当用户数量或数据量 突然达到一个峰值,并且这个峰值已经超过了设计之初预期的阈值,那么以前正常的功能将会停止,并 触发java.lang.OutOfMemoryError: Java heap space异常。
  • 内存泄漏:特定的编程错误会导致你的应用程序不停的消耗更多的内存,每次使用有内存泄漏风险的功 能就会留下一些不能被回收的对象到堆空间中,随着时间的推移,泄漏的对象会消耗所有的堆空间, 终触发java.lang.OutOfMemoryError: Java heap space错误
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐