欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android性能优化之LeakCanary的使用及项目中的实际运用

程序员文章站 2024-01-20 18:36:04
Andorid项目中我们会使用第三方的开源库来检查内存泄露情况,使用时我们得了解其运行原理并根据扩反馈日志来指导解决问题。文本从结合内存泄露原理和在项目中的实际的使用场景来解决开发的实际问题。...

引言

Andorid项目中我们会使用第三方开源库来检查内存泄露情况,使用时我们得了解其运行原理,并根据反馈日志分析定位问题,并以此解决内存泄露问题。

文本从结合内存泄露原理和在项目中的实际的使用场景来解决开发的实际问题。

1. 什么是内存泄露?

一些对象有着有限的生命周期。当这些对象所要做的事情完成了,我们希望他们会被回收掉。但是如果有一系列对这个对象的引用,那么在我们期待这个对象生命周期结束的时候被收回的时候,它是不会被回收的。它还会占用内存,这就造成了内存泄露。持续累加,内存很快被耗尽。

比如,当 Activity.onDestroy 被调用之后,activity 以及它涉及到的 view 和相关的 bitmap 都应该被回收。但是,如果有一个后台线程持有这个 activity 的引用,那么 activity 对应的内存就不能被回收。这最终将会导致内存耗尽,然后因为 OOM 而 crash

本文地址:https://blog.csdn.net/jun5753/article/details/107491929