Ken

Talk is cheap. Show me the code


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • Sitemap

  • 搜索

AndroidStudio中的javaMaxHeapSize和multiDexEnabled问题

发表于 2015-11-19 | 分类于 Android |

    来公司已经四个月了,来公司之前,公司的代码是在eclipse上面开发的,但是我个人完全已经爱上了AndroidStudio了,决定把公司的代码转移阵地,和leader几番商量之后,来到了Studio,由于项目一点点变大,也要跟上时代App的步伐,所以这一步肯定是没错的,As的好处这里就不多说了,但是好处的同时也会带来苦恼,一些问题基本见都没见过,自己一点点的来就是唯一的解决办法。下面说两个我们遇到的问题

    当我们把项目转移到AS之后出现了下面两个问题,大家一起看看。
第一个错误就是方法数超过65536,很常见。如果要在之前在Eclipse中要分包啥的,反正很麻烦,现在有了AS大法好,下面说;第二个错误就是一个OOM,但不是我们平时见到的,是一个关于java层的OOM,error中有一个关于4g的错误标识,下面说。//当时忘了截图。。。。

这两个问题不知大家见过没见过,但是当我看见她的时候我蒙了,因为我在clean,build代码的是是successful的,run完之后竟然给我来了这么一出,但是我看到了其中的65536,DexIndexOverflowException,OOM,这么熟悉的几个bug代名词,让我浮想联翩,中间的过程就不说了,直接来处理方法,以及结果吧。

    对于上图中第一个error哪,处理方法是这样的,只要在app的build.gradle中加上下面这几句

1
2
3
4
5
6
7
defaultConfig {
multiDexEnabled true
}

dependencies {
compile 'com.android.support:multidex:1.0.0'
}

最后还要让你的自定义的Application类继承MultiDexApplication,就可以了。如果不想继承的话也可以,只要在你的application类里面重写这个方法就好了

1
2
3
4
5
6
protected void attachBaseContext(Context base) {

super.attachBaseContext(base);

MultiDex.install(this);
}

第一个我们已经fix掉了,下面我们来解决第二个问题,就是OOM,但这个OOM和我们平时见到的OOM不一样,这个是java层报的OOM,那就是运行时内存不够了呗,这里在build.gradle里面同样加上一句话也管用。

1
2
3
dexOptions {
javaMaxHeapSize "4g"
}

重新编译,运行,OK,可以了,Android之路,我们是在平坦的道路上曲折前行啊,这句话配上许岑老师就帅了。

阅读全文 »

乔迁之喜

发表于 2015-11-17 | 分类于 随记 |

      
首发有福利哦。。。。

      搭建属于自己的个人Blog,心生已久,作为一个程序员就应该有一个属于自己空间的小地方,想写什么写什么,想吐槽什么吐槽什么,做一个快快乐乐的猿猴。。。。

      在这里我可能不会说博客的搭建过程,因为你去Google一把,前两篇就能保证教会你,我就是亲身体验用户,搭建出了一个在我眼里看着还可以的BlogZone,我会陆陆续续的把我csdn上的一些不成熟的博文移到这里面来,写博客确实是一件很费时间,费精力的事情,因为你要准备,你要实践。但是,当你的博客hexo g -d 的时候,你的成就感油然心生,你看到了成果,一篇博客的诞生会让你高兴半天,之前在csdn,偶尔会写一篇,但是现在不一样了,现在这个东西是我自己的记事本,我会时不时的纪录下我在Android路上踩到的坑,以及一些好玩的小技巧。

      希望通过这个机会能够认识到更多Android小伙伴,一起学习,一起交流

阅读全文 »
1…67
Ken

Ken

Android,BlockChain Developer

38 日志
10 分类
34 标签
RSS
GitHub
Links
  • Go Blockchain
© 2016 — 2018 Ken
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4