zoukankan      html  css  js  c++  java
  • App调试内存泄露之Context篇(上)

    Context作为最基本的上下文,承载着Activity,Service等最基本组件。当有对象引用到Activity,并不能被回收释放,必将造成大范围的对象无法被回收释放,进而造成内存泄漏。

    下面针对一些常用场景逐一分析。

    1. CallBack对象的引用

        先看一段代码:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    de >@Overridede>

    de >protectedvoid onCreate(Bundle state){de>

    de >  de>de >superde>de >.onCreate(state);de>

    de >  de> 

    de >  de>de >TextView label =de>de >newde> de >TextView(de>de >thisde>de >);de>

    de >  de>de >label.setText(de>de >"Leaks are bad"de>de >);de>

    de >  de> 

    de >  de>de >setContentView(label);de>

    de >}de>

        大家看看有什么问题吗?

        没问题是吧,继续看:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    de >privatede> de >staticde> de >Drawable sBackground;de>

    de >  de> 

    de >@Overridede>

    de >protectedde> de >voidde> de >onCreate(Bundle state){de>

    de >  de>de >superde>de >.onCreate(state);de>

    de >  de> 

    de >  de>de >TextView label =de>de >newde> de >TextView(de>de >thisde>de >);de>

    de >  de>de >label.setText(de>de >"Leaks are bad"de>de >);de>

    de >  de> 

    de >  de>de >ifde>de >(sBackground ==de>de >nullde>de >){de>

    de >    de>de >sBackground = getDrawable(R.drawable.large_bitmap);de>

    de >  de>de >}de>

    de >  de>de >label.setBackgroundDrawable(sBackground);de>

    de >  de> 

    de >  de>de >setContentView(label);de>

    de >}de>

        有问题吗?

        哈哈,先Hold住一下,先来说一下android各版本发布的历史:

    1

    2

    3

    4

    5

    6

    de >/*de>

    de >2.2        2010-3-20,Froyode>

    .relpost{clear:both}

    Tag:

    Freenovo 发表于2014-06-07 21:12:00 | 编辑 | 分享 0

    引用地址:

  • 相关阅读:
    最小生成树示例程序_Prim算法
    邻接表示例程序
    拓扑排序示例程序
    hdu1754 I Hate It && hdu1166 敌兵布阵 ——线段树复习
    2013年4月26日 晴
    Snakes & Ladders ——BFS入门题
    zoj1203 Swordfish ——最小生成树入门题_Kruscal算法
    poj3087 Shuffle'm Up ——水题
    poj1002 4873279 ——水题
    2013年4月21日 阴
  • 原文地址:https://www.cnblogs.com/freenovo/p/4469778.html
Copyright © 2011-2022 走看看