Android开发

Android开发 内存泄露举例

本文主要是介绍Android开发 内存泄露举例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

  在https://www.cnblogs.com/guanxinjing/p/10701192.html 这篇博客里了解了如何抓取与分析Android的内存泄露后,在这个博客里.将记录举例会引起内存泄露的情况.在android平台一般情况下的内存泄露都指页面(Activity或者Fragment等等). 因为他们会经常的进行创建与销毁. 所以除非特别指出,否则这篇博客的举例都是指view层泄露

 

单例持有

单例类

object Singleton{
    private var mActivity :Activity? = null
    
    public fun setActivity(activity :Activity){
        mActivity = activity;
    }
}

这里不限于Activity,如果将fragment或者dialog 交给单例类持有,也将有相同的内存泄露情况

在activity里的代码

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test_demo)
        Singleton.setActivity(this)
    }

解决思路

尽量不要将Activity交给单例持有,如果非要交给单例持有,也应该是弱引用持有

属性动画ObjectAnimator

 

 

 

 

 

 

End

这篇关于Android开发 内存泄露举例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!