为什么我的android应用在启动时使用了这么多的内存
|
我已经研究了一段时间的内存泄漏问题。
我在http://www.inter-fuser.com/2010/02/android-coverflow-widget-v2.html的互联网上找到了封面报道
现在,我对这个应用程序造成了内存不足的问题印象深刻,它仍然可能与它有关。但是,我已经从应用程序中删除了所有内容,除了启动屏幕。没有其他活动。它什么也没有......
初始意图将加载“启动屏幕”活动。
我的应用程序使用了79%到83%的可用堆。电话给了我281.6万,而我上次运行显然分配了227.8万。
首先,运行应用程序的3M可用空间似乎并不多。但是,当我唯一要做的是加载一个带有imageview指向图标资源约为4k的imageview的单个活动时,在初始启动时将2.2M加载到内存中似乎要消耗大量的内存……
我的应用程序如何/为什么不使用那么多内存,却又如何缓解启动时80%的内存消耗。
我在T-Mobile G2上进行开发,除此应用程序和在droid上运行的默认服务外,我什么都没有运行。
这是我的一些内存转储信息
怀疑1
2,239 instances of \"java.lang.Class\", loaded by \"<system class loader>\" occupy 673,760 (35.83%) bytes.
Biggest instances:
class com.ibm.icu4jni.util.Resources$DefaultTimeZones @ 0x401dc878 - 166,600 (8.86%) bytes.
class android.text.Html$HtmlParser @ 0x4010de58 - 126,592 (6.73%) bytes.
class org.apache.harmony.security.fortress.Services @ 0x4007fd98 - 51,456 (2.74%) bytes.
class android.content.res.Resources @ 0x4004bb78 - 38,768 (2.06%) bytes.
class com.abc.AppData @ 0x44d1e040 - 26,872 (1.43%) bytes.
Keywords
java.lang.Class
怀疑2
7,072 instances of \"java.lang.String\", loaded by \"<system class loader>\" occupy 435,560 (23.16%) bytes.
Keywords
java.lang.String
怀疑3
58 instances of \"org.bouncycastle.jce.provider.X509CertificateObject\", loaded by \"<system class loader>\" occupy 289,288 (15.38%) 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兆不是很好用。我正试图展示一个图片库。
没有找到相关结果
已邀请:
2 个回复
财沟项胶
混侩闯空坷