Android Nexus 4.2.1上占用大量内存的应用程序
在我的项目中,我使用了一些绘图工具来创建美观的UI,我遇到的奇怪问题是,它在2.3.4版本的Kindle Fire上正常工作,只占用了2.8397MB,但当我在nexus 4.2.1设备上运行相同的应用程序时,需要23.45678MB到30MB,运行速度非常慢,我原以为问题出在drawable上,所以为它们创建了9个补丁,但仍然遇到同样的问题。每个分辨率有不同的Android Nexus 4.2.1上占用大量内存的应用程序,android,android-4.2-jelly-bean,google-nexus,Android,Android 4.2 Jelly Bean,Google Nexus,在我的项目中,我使用了一些绘图工具来创建美观的UI,我遇到的奇怪问题是,它在2.3.4版本的Kindle Fire上正常工作,只占用了2.8397MB,但当我在nexus 4.2.1设备上运行相同的应用程序时,需要23.45678MB到30MB,运行速度非常慢,我原以为问题出在drawable上,所以为它们创建了9个补丁,但仍然遇到同样的问题。每个分辨率有不同的drawable文件夹吗?如果是这样,这可能与您在不同文件夹中拥有的资源有关,因此加载到Nexus上的Drawable要比加载到kind
drawable
文件夹吗?如果是这样,这可能与您在不同文件夹中拥有的资源有关,因此加载到Nexus上的Drawable要比加载到kindle fire上的Drawable大得多(kindle fire的分辨率为1024x600,而Nexus 7的分辨率为1280x800)每个分辨率有不同的可绘制的文件夹吗?如果是这样,这可能与您在不同文件夹中拥有的资源有关,因此您的Nexus上加载的Drawable要比kindle fire上加载的Drawable大得多(kindle fire的分辨率为1024x600,而Nexus 7的分辨率为1280x800)在预蜂窝设备上(如2.3.4 kindle fire)位图存储在本机堆中,在分析ddms中的dalvik堆内存使用情况时,不会显示本机堆
但是,这并不意味着它仍然不计入堆限制
蜂窝和更高版本的设备将位图存储在dalvik堆中,该堆将显示在ddms中。这应该可以解释为什么KindleFire上的内存使用要“少”很多。事实并非如此,只是看起来是这样。在蜂窝设备之前(如2.3.4 Kindle Fire),位图存储在本机堆中,在分析ddms中的dalvik堆内存使用情况时,本机堆不会显示
但是,这并不意味着它仍然不计入堆限制
蜂窝和更高版本的设备将位图存储在dalvik堆中,该堆将显示在ddms中。这应该可以解释为什么KindleFire上的内存使用要“少”很多。不是这样,只是看起来是这样。只有当我将设备连接到分配跟踪器以观察内存时,我才有问题,但当我在用户视角下运行时,它工作正常,没有任何问题。你能指定nexus和kindle是什么吗?点燃火5?Nexus7?Galaxy Nexus?Nexus 7和kindle fire 6.3设备@Glenn您是否尝试在应用程序设置中查看应用程序的内存使用情况?使用DDMS的堆转储和MAT来确定内存的消耗位置。使用Traceview确定CPU的使用位置。在您完成这些操作之前,不要发布有关内存或CPU使用情况的StackOverflow问题。只有当我将设备连接到分配跟踪器以观察内存时,我才会出现问题,但当我在用户视角下运行时,它工作正常,没有任何问题。您可以指定nexus和kindle是什么吗?点燃火5?Nexus7?Galaxy Nexus?Nexus 7和kindle fire 6.3设备@Glenn您是否尝试在应用程序设置中查看应用程序的内存使用情况?使用DDMS的堆转储和MAT来确定内存的消耗位置。使用Traceview确定CPU的使用位置。在完成这些工作之前,不要发布有关内存或CPU使用情况的StackOverflow问题。