安卓:泄漏检测与Eclipse内存分析器(Android: Detecting leaks with

2019-07-19 03:07发布

我有这个问题的Android:屏幕方向错误+ VM不会让我们分配x字节 ,所以我决定下载Eclipse内存分析器。 我跑时,我的错误出现,我有3名问题,犯罪嫌疑人,但我不明白的地方它可能来自。 +我真的不知道,如果我的问题是由于内存泄漏的可能的泄漏仅取2.2,B空间

问题1可疑

2,094 instances of "java.lang.Class", loaded by "<system class loader>" occupy 789,200 (33.76%) bytes. 

Biggest instances:
•class android.text.Html$HtmlParser @ 0x4018d3f0 - 126,632 (5.42%) bytes. 
•class org.apache.harmony.security.fortress.Services @ 0x400e2e58 - 53,880 (2.30%) bytes. 
•class com.android.internal.R$styleable @ 0x400882c0 - 38,072 (1.63%) bytes. 
•class libcore.icu.TimeZones$CachedTimeZones @ 0x40444fa8 - 37,712 (1.61%) bytes. 
•class android.R$styleable @ 0x40055940 - 37,640 (1.61%) bytes. 
•class android.content.res.Resources @ 0x40075178 - 36,032 (1.54%) bytes. 
•class android.text.AutoText @ 0x40178980 - 31,656 (1.35%) bytes. 


Keywords
java.lang.Class

问题2可疑

128 instances of "org.bouncycastle.jce.provider.X509CertificateObject", loaded by "<system class loader>" occupy 455,112 (19.47%) bytes. These instances are referenced from one instance of "java.util.Hashtable$HashtableEntry[]", loaded by "<system class loader>"

Keywords
org.bouncycastle.jce.provider.X509CertificateObject
java.util.Hashtable$HashtableEntry[]

问题3可疑

6,822 instances of "java.lang.String", loaded by "<system class loader>" occupy 418,104 (17.89%) bytes. 

Keywords
java.lang.String

你认为我有泄漏? 我们可以说,从我所贴? 谢谢

Answer 1:

在Android上,我觉得它很容易泄露的活动环境。 所以,最经常的方式我用来查找内存泄漏,是打开一个OQL选项卡,输入“选择的instanceof android.app.Activity *”。 然后,你可以看到有多少活动实例在那里,你可以告诉是否有通过自己的判断泄漏与否。 你也可以在活动实例之一单击鼠标右键,并单击“路径GC” - >“排除所有的软/弱/虚引用”。 然后,你可以看到在链活动的引用。 祝好运 !



文章来源: Android: Detecting leaks with Eclipse Memory Analyzer