gpt4 book ai didi

android - 为什么我的 android 应用程序在启动时使用了这么多内存

转载 作者:太空狗 更新时间:2023-10-29 14:32:04 25 4
gpt4 key购买 nike

一段时间以来,我一直在研究内存泄漏问题。

网上找了一个来自http://www.inter-fuser.com/2010/02/android-coverflow-widget-v2.html的封面流

现在我的印象是这个应用导致了我的内存不足问题,而且它仍然有可能与它有关。但是,我已经从我的应用程序中删除了除启动画面之外的所有内容。没有其他 Activity 。它什么都不做......

初始 Intent 加载启动画面 Activity 。

我的应用程序使用了 79% 到 83% 的可用堆。手机给了我 2.816M,显然我在上次运行时分配了 2.278M。

首先,运行应用程序的 3M 可用空间似乎并不多。然而,在初始启动时加载到内存中的 2.2M 似乎消耗了大量内存,而我唯一要做的就是加载一个带有 ImageView 的 Activity ,该 Activity 指向一个测量为大约 4k 的图标资源......

我的应用程序如何/为什么会白白占用这么多内存,以及如何减少启动时 80% 的内存消耗。

我正在 T-Mobile G2 上开发,除了这个应用程序和在机器人上运行的默认服务外,我没有运行任何东西。

这是我的一些内存转储信息

怀疑 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 megs 不是很适合使用。我正在尝试展示图片库。

最佳答案

我过去遇到过内存泄漏,但 android 没有。过去我使用了 eclipse 内存分析器工具(第二个链接),我发现它非常有用。要使用它,您需要生成堆转储文件(或内存快照),博客文章告诉您如何执行此操作(第一个链接)。

http://www.andorfi.net/2011/03/memory-analysis-for-android-applications/

http://www.eclipse.org/mat/

关于android - 为什么我的 android 应用程序在启动时使用了这么多内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5682056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com