手把手带你了解内存抖动和泄漏的优化
前言 这个系列的文章: 1、用通俗易懂的讲解方式,讲解一门技术的实用价值 2、详细书写源码的追踪,源码截图,绘制类的结构图,尽量详细地解释原理的探索过程 3、提供Github 的 可运行的Demo工程,但是我所提供代码,更多是提供思路,抛砖引玉,请酌情cv 4、集合整理原理探索过程中的一些坑,或者demo的运行过程中的注意事项 5、用gif图,最直观地展示demo运行效果 如果觉得细节太细,直接跳过看结论即可。本人能力有限,如若发现描述不当之处,欢迎留言批评指正。 学到老活到老,路漫漫其修远兮。与众君共勉 !,和我一起当个CV工程师吧,手动滑稽 正文大纲 jvm内存管理常识 检测以及处理内存抖动 检测以及处理内存泄漏 正文 jvm内存管理常识 LMK (LowMemoryKill)机制 android底层会在系统内存告急的时候,按照一定规则杀死一些进程来满足其他进程的内存需要。其中 消耗内存的高低就是其中一项指标,所以,优化app的内存占用,能够有效降低app被系统杀死的概率。 GC STW机制 GC,垃圾回收进程,在 GC 线程执行任务的时候,会存在一个 STW (stop the world) 机制,他就会把其他所有线程都挂起。如果 GC 非常频繁地调用,那就会导致主线程不流畅,给用户的感觉就是 卡顿。 内存抖动频繁引起OOM 内存抖动太频繁,导致大量对象频繁创建和销毁