我想问你一个简单的问题。我与 java.lang.outofmemory 错误作斗争。它可能是由图片引起的,但目前我的项目中有很多未使用的导入和未使用的变量(应用程序有 7 个活动,每个活动大约有 40 个变量)。
使用未使用的导入和未使用的声明变量内存?您认为,可能是由于许多变量和导入导致的 java.lang.outofmemory 错误吗?
我想问你一个简单的问题。我与 java.lang.outofmemory 错误作斗争。它可能是由图片引起的,但目前我的项目中有很多未使用的导入和未使用的变量(应用程序有 7 个活动,每个活动大约有 40 个变量)。
使用未使用的导入和未使用的声明变量内存?您认为,可能是由于许多变量和导入导致的 java.lang.outofmemory 错误吗?
从安卓:
位图占用大量内存,尤其是对于照片等丰富的图像。例如,Galaxy Nexus 上的相机可拍摄高达 2592x1936 像素(5 兆像素)的照片。如果使用的位图配置是 ARGB_8888(Android 2.3 以后的默认配置),则将此图像加载到内存中大约需要 19MB 内存(2592*1936*4 字节),立即耗尽某些设备上的每个应用程序的限制。
基本上,如果使用不当,图像会成为杀手。
请参阅此有关有效加载大型位图的 android 教程
具体来说,以所需分辨率从文件/资源加载缩放位图的代码示例。
导入在运行时对内存没有影响。他们唯一可能做的就是减慢构建时间。没有什么坏处。
不,变量不会在Heap
应用程序中占用更多内存。这可能是由于bitmap
在您的应用程序中。如果您遇到任何错误,请确保您已发布图像背景,例如
imageview.setBackgroundDrawable(null);
relativeLayout.setBackgroundDrawable(null);
或者
imageview.setBitmapImage(null);
这将删除布局中使用的可绘制图像。