Java Android应用程序启动时占用太多内存

Java Android应用程序启动时占用太多内存,java,android,Java,Android,我正在构建一个应用程序,到目前为止,我有三个界面(登录、注册、欢迎页面)。 在登录页面中,我有一个图像(png,7.57KB),下面有两个EditText和两个按钮。活动背景是一个图像(png,61KB)。 在注册中,我只有编辑文本和按钮,没有图像,没有图标。 在欢迎页面中,我有一个gridview(3列3行),每个网格项都有一个图标(png,最大4KB) 我在java代码中设置应用程序中所有内容的大小。我使用以下方法获得宽度和高度: Display display = ((WindowMana

我正在构建一个应用程序,到目前为止,我有三个界面(登录、注册、欢迎页面)。 在登录页面中,我有一个图像(png,7.57KB),下面有两个EditText和两个按钮。活动背景是一个图像(png,61KB)。 在注册中,我只有编辑文本和按钮,没有图像,没有图标。 在欢迎页面中,我有一个gridview(3列3行),每个网格项都有一个图标(png,最大4KB)

我在java代码中设置应用程序中所有内容的大小。我使用以下方法获得宽度和高度:

Display display = ((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        int width = size.x;
        int height = size.y; 
并使用以下命令设置大小:

button.setLayoutParams(new LinearLayout.LayoutParams(width*40/100,width*40/100));
当我查看设备中的“活动应用程序”部分时,我发现该应用程序占用了85 MB的内存,这太多了。我搜索原因,有人建议使用png而不是jpg,但这没有什么区别


如果您有任何建议,我将不胜感激。

您是否在图像之外加载了其他资源?您是否使用可能会消耗RAM的DB或其他数据源?开发人员网站还提供了小内存占用的最佳实践。不,直到现在我没有任何其他数据源,在大多数设备上,所有内容都是可绘制的,并且没有启用大堆,在达到85mb之前,您将获得一个OOM,如果我错了,请纠正我。我想我们无法判断。您必须使用调试器/分析工具检查应用程序,查看哪些内容会消耗这些兆字节。他有一些酒。当向下滚动到“查看堆更新”时,您可能会发现一些有趣的内容。