Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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问题_Android - Fatal编程技术网

内存不足的android问题

内存不足的android问题,android,Android,在listview的每一行中显示大缩略图时面临内存不足的问题。显然您这样做是错误的。Android给你的内存空间非常有限。您应该在listview中显示缩略图,并仅在选择完整图像时(从SD卡)将其加载到内存中。如果要手动加载位图,请记住recycle()。可能重复“抱歉写了糟糕的英语”。我会尽量写得好。所有的图片都被下载了,那个时候我会使用选项来编辑图片的位图。所有的图像都是大尺寸的,所以我使用这个选项来缩小尺寸,但是图像会变得像素化。(基本上这个功能是由图像类的延迟加载完成的。)我的意思是,你

在listview的每一行中显示大缩略图时面临内存不足的问题。

显然您这样做是错误的。Android给你的内存空间非常有限。您应该在listview中显示缩略图,并仅在选择完整图像时(从SD卡)将其加载到内存中。如果要手动加载位图,请记住
recycle()

可能重复“抱歉写了糟糕的英语”。我会尽量写得好。所有的图片都被下载了,那个时候我会使用选项来编辑图片的位图。所有的图像都是大尺寸的,所以我使用这个选项来缩小尺寸,但是图像会变得像素化。(基本上这个功能是由图像类的延迟加载完成的。)我的意思是,你应该把你的图像保存在SD卡上。。。不在记忆中。懒惰还是不懒惰。。。这不是重点。将图像下载到磁盘,然后加载列表视图的小缩略图。当有人点击拇指时。。。然后,您将显示较大的图像。或者,如果您的列表中的图像占屏幕的1/2(或更大),则只需一次加载2或3个图像,然后
recycle()
移出视野的图像。是的,我曾尝试将位图保存在SD卡中,但保存大图像需要很多时间。如果您想说我应该从保存的文件中获取列表视图每一行的缩略图,那么这个例子就卡住了列表视图。因为在getview中,我使用BitmapFactory获取缩略图需要时间。。。如果您关心的是性能,则必须提前将这些映像预加载到SD卡。你的内存空间非常有限,这是无法回避的事实。还要确保在清单中请求更大的堆空间。api级别12支持在清单中请求更大的堆空间。但是这个特性也会降低应用程序的性能,因为在这种情况下gc变得非常慢。