Android的构建速度慢且内存崩溃

时间:2018-08-10 22:15:59

标签: android build android-gradle apk

我需要这个方面的帮助,问题是我正在工作的项目需要一个自定义的地图瓷砖地图提供程序,该项目通常不超过30秒钟即可构建,并具有在线gradle等等。

当我将带有自定义图块的图像添加到Assets文件夹时,问题开始了,构建时间最多可能需要3个小时。或仅仅10分钟,我就会收到此错误。

  

java.lang.OutOfMemoryError:超出了GC开销限制

我发现,将此设置添加到gradle设置中后,该错误应该消失了,但是它不起作用。

dexOptions { 
          incremental true 
          javaMaxHeapSize "4g" 
} 

我一直在考虑这个选项,并将其增加到8g,但它什么也没做。

当我尝试构建该应用程序时,cpu会从8Gb的使用率中降至100%和7.9Gb,直到构建崩溃并得到上一个错误。

该应用程序需要离线工作,因此我无法下载磁贴,并且该应用程序的大小并不重要,因为它不会通过任何应用程序商店发布,而是由我们直接安装到某些设备上。

tiles文件夹的大小约为250Mb,大约有30000个文件,7000个文件,但我仍然得到相同的结果。

是因为文件大小,文件数量?还是因为两者?

任何帮助将不胜感激,我是android开发的“新手”,我在2011年学习了一些基础知识,但是直到大约4个月前还没有做任何事情或学到什么,所以我有点迷失了。

对于某些拼写错误或措辞怪异的单词,我也不会说英语。

编辑:

Extra details as Morrishon Chang asked
OS: window 10
Memmory: 8Gb
JDK: 1.8.0_144
average tile image size: 13kb
image tile format: png
image tiles ammount: about 32000 images

1 个答案:

答案 0 :(得分:1)

首先,我建议使用Android Drawable Importer插件。 您可以从Android Studio->首选项->插件中访问它,我通常使用该插件导入资产,并且一切正常。

第二,我建议您使用图像处理库,例如Glide,在我看来它确实非常强大。

第三,尝试优化瓷砖的加载,也许使用RecyclerView?

祝你好运!