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
标签:持有,activity,举例,内存,单例,Activity,Android,泄露 来源: https://www.cnblogs.com/guanxinjing/p/15832595.html