Android内存泄漏 - 活动和视图

时间:2013-09-29 15:29:41

标签: java android memory-leaks

我写了一个android应用程序,并试图避免内存泄漏。为此,我使用了Eclipse Memory Analyzer。我怀疑有三个问题。每个都是关于大尺寸的Bitmap对象(两个是8.8MB,一个是5.8 MB)。 我在我的代码中做了一些技巧,我不确定它们是否导致了这个:

  • 我将活动设置为某些视图的OnClickListener。
  • 我在运行时自定义视图中创建,使用getApplicationContext()作为Context。
  • 我声明了在活动类中保存视图的字段。

其中一个可能导致内存泄漏吗?或者也许8.8MB位图是正常的?

在深入细节的过程中,我看到第一个位图就是这样的:

byte[9216000] @ 0x42dda5b0 ..&...$...#...%...(...*...$... .........................z...t...t...y.........#...+...,...-...........(... .......$...*...&...%...%...&...'...'...#...........!...%...'...!... ..."...'...)...(...!.......!...*...-...,...+...'...$...&...&...$...........!...&....
 9,216,016 9,216,016 
\mBuffer android.graphics.Bitmap @ 0x418f9028
.+mBitmap android.graphics.drawable.BitmapDrawable @ 0x420211b8
.|\mBGDrawable android.widget.LinearLayout @ 0x41fb5528
.|.\[0] android.view.View[12] @ 0x41fcbf60
.|..\mChildren android.widget.FrameLayout @ 0x41fb4c90 
.|...\mContentParent com.android.internal.policy.impl.PhoneWindow @ 0x4220f480
.|....+this$0 com.android.internal.policy.impl.PhoneWindow$DecorView @ 0x41fd8bd0
.|....|+mView android.view.ViewRootImpl @ 0x4220f5c0
.|....||+this$0 android.view.ViewRootImpl$2 @ 0x42032ed8 Native Stack
.|....||+this$0 android.view.ViewRootImpl$AccessibilityInteractionConnectionManager @ 0x420330f0 »
.|....||\Total: 2 entries
.|....|+[1] android.view.View[5] @ 0x41932f18 »

0 个答案:

没有答案