Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序2.2端口至4.0_Android_Image_Memory_Layout - Fatal编程技术网

Android应用程序2.2端口至4.0

Android应用程序2.2端口至4.0,android,image,memory,layout,Android,Image,Memory,Layout,我已经基于2.2构建了一个应用程序。它工作正常,运行良好。然而,当我将应用程序放在4.0上时(分辨率为1280x800三星Galaxy Note)。它崩溃了,并说它随机耗尽了内存,并且布局错误,无法正常工作;我不能定尺寸 这是我的情况,, 在5个活动中,我总共有大约100张图片(大多数是.png和.jpg)(通常是1张背景图片,20张带焦点的按钮背景图片和一张普通图片),文件大小大约为2MB 我在xml中设置图像和布局,比如相对布局背景或按钮背景,或者只是imageview 我想知道为什么它的内

我已经基于2.2构建了一个应用程序。它工作正常,运行良好。然而,当我将应用程序放在4.0上时(分辨率为1280x800三星Galaxy Note)。它崩溃了,并说它随机耗尽了内存,并且布局错误,无法正常工作;我不能定尺寸

这是我的情况,, 在5个活动中,我总共有大约100张图片(大多数是.png和.jpg)(通常是1张背景图片,20张带焦点的按钮背景图片和一张普通图片),文件大小大约为2MB

我在xml中设置图像和布局,比如相对布局背景或按钮背景,或者只是imageview

我想知道为什么它的内存不足,因为可绘制文件夹的大小只有2MB,为什么它的内存不足,为什么它在2.2上工作,但在4.0上失败

我希望有人能帮助我

第一个问题是布局。例如,按钮大小比2.2中的按钮大。所以我担心它的伸缩性可能会影响内存问题。在我的按钮xml中,我将宽度和高度都设置为wrap_content。我不知道为什么它会比我预期的大。我的想法是,4.0中的布局xml存在一些差异,它会使布局变得奇怪,或者进行一些缩放,然后使内存变得奇怪。事实上,所有的图像都只有2MB,有可能内存不足吗

第二个问题是内存。可能是内存处理不同于以前的版本。所以我需要做一些调整,以使其在4.0上工作吗?忽略布局问题,可能是我可以进一步校准位置和大小。但是现在我无法显示布局,所以我想在4.0上可以做些什么

最后,是否有可能找出每个imageView或按钮使用了多少内存?使用此工具,可能可以进一步调查问题


如果您有空,请帮助我。

尝试将您的图像放置在相应的可绘制文件夹中,如可绘制mdpi、可绘制hdpi等

如果您只有一个版本,请尝试将它们放在可绘制的nodpi中。根据布局的设置方式,您可能需要选择要放入nodpi的节点

当xhdpi或hdpi设备从drawable或drawable mdpi加载drawable时,系统会自动扩大资源以匹配dpi。从mdpi到xhdpi,可绘图的大小将调整为2倍,从mdpi到hdpi的大小将调整为1.5倍


希望这有帮助:)

您是否在模拟器上运行了它?或者任何移动设备?这是android的一个主要缺点,图像支持主要在1mb以下。但是你可以通过BitMapFactory来调整图像的大小。你可以检查DDMS中的垃圾和堆收集。谢谢。我已经解决了这个问题。原因是ICS无法使用2个参数确定正确的可绘制文件夹,因此我已更改为一个参数,它工作正常。