Android Studio 2.2 jack深坑
来源:互联网 发布:软件测试培训西安 编辑:程序博客网 时间:2024/04/28 07:23
前言
lambda是个好东西,配合rxjava能让代码看起来非常舒服,既减少了大量敲键盘的次数也让可读性变得更强(对于熟悉lambda的人来说)。
Android studio从2.2开始支持java8,也就意味着终于可以用上官方的lambda了。但是,坑来了…
配置java8
如何安装java8就不说了
在Android studio中支持java8很简单,如下配置
android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { ... jackOptions { enabled true } } ...}
问题就出在这个jackOptions上
Jack工具链
Android 新一代编译 toolchain Jack & Jill 简介
看起来很美好的东西,可目前却有很多坑
一、慢
原来编译项目需要2m左右(i7-6700),开启了之后接近6m
二、乱码
这是最坑的,最初出现乱码的时候还以为文件编码搞乱了,查了半天才发现不是,是因为这玩意儿开启之后就会默认以本地编码编译文件(该说法可能有误)。
可以新建一个项目,依照上面配置好,然后Log.e(“Test”, “测试”);
只要是中文,而且这个中文不是写在xml文件里(由于xml都标明utf-8),那么你会看到console里打印出来的是乱码(其实就是文字以gbk的编码打印出来了)。
三、GC Overhead
在编译tinypinyin
这个开源库的时候,由于这个开源库有好多个超大型的数组,总是会爆出GC Overhead的错误…搞了半天,试了好多种方法。
发现需要作如下处理:
在app的build.gradle里这样添加
android { ... dexOptions { javaMaxHeapSize "4096M" }}
至于你要设置多少…反正我设了2G都会炸,干脆给4G了
总结
jack看起来很美好,但在当下还只能算是一个半成品。与其为了用lambda忍受一堆问题打开jack,还不如老老实实地写一大坨一大坨代码来得舒服,毕竟as的智能补全还是很方便的。
0 0
- Android Studio 2.2 jack深坑
- android studio中使用jack编译器
- Android studio报错Jack compilation exception
- android studio 经纬度与百度地图拾取坐标经!纬!初入深坑!
- android studio项目报:Error:Jack is required to support java 8 language features. Either enable Jack
- Android 编译 Jack简介
- 关闭Android jack 编译
- Android studio项目报:Jack requires Build Tools 24.0.0 or later 错误
- Jack
- jack
- Android的Jack编译器试用
- Jack (Java Android Compiler Kit)
- android 6.0 jack 编译详解
- Jack(Java Android Compiler Kit)
- Android开发常陷入的五大深坑
- Gradle + Jenkins + Ubuntu 在Android持续集成中的深坑集合
- 关于android中的String的split方法的一个深坑
- Android实现微信支付和踩过的深坑
- Freescale i.MX 6Q MNC平台移植Goodix GT911x TP驱动
- 关于UIBarButtonItem的自定义
- 【软考学习】——风险分析
- MySQL索引背后的数据结构及算法原理
- 七号信令详细介绍
- Android Studio 2.2 jack深坑
- Total Commander修炼秘籍
- 《程序员面试金典》部分题目
- ios内存管理
- 内存/外存及S5PV210启动方式
- 【转】PIL安装的各种问题,换用pip install pillow
- 快速排序
- 快排光芒下被忽视的Partition函数
- 一个老程序员PHP程序员说的话(谨以此片时刻提醒自己)