rol*_*lan 9 android gradle guava
正如任何Android开发人员都应该知道的那样,你的apk有65k的方法限制(因为VM只有16位用于方法处理).它应该很难通过您自己的方式实现,但只要您开始添加一些库就很容易.
从去年开始,您可以通过在Android 5.0及更高版本上启用MultiDex来解决此问题(并为以前的Android版本添加支持库).即使这是可能的,减少方法数量并获得更小的api总是更好(性能应该更好,不应该吗?).
在某些时候,Android家伙意识到他们的Google Play服务库的大小是无法承受的(20k方法),他们决定将它拆分为不同的模块,因此您可以简单地添加您需要的部分(等级):
compile ('com.google.android.gms:play-services-analytics:8.1.0')
compile('com.google.android.gms:play-services-appindexing:8.1.0')
Run Code Online (Sandbox Code Playgroud)
你知道是否有可能用Guava库做那样的事情? 这是大约15K的方法,所以它会非常有用.我想只使用番石榴的一小部分,所以我不需要/想要包括另一个.我一直在查看文档和谷歌搜索,但没有找到.
compile group: 'com.google.guava', name: 'guava', version: '18.0'
Run Code Online (Sandbox Code Playgroud)
有些人在两年前问了类似的东西,可能是为了一个Java项目,但当时不存在较小的番石榴部分.下载番石榴库的一部分
我唯一想到的就是复制所需的Guava类而不是加载库,但我认为这是一个糟糕的解决方案.
您认为任何大型图书馆都不应该像使用Play服务一样使用模块拆分系统吗?
编辑:此外,multidex任务需要太长时间(之前的一分半钟不到15秒),所以每次我想启动应用程序时我都要等待.因此,即使使用Proguard是生产版本的一个很好的解决方案,它也不适合开发,因为它需要比多索引更长的时间.
归档时间: |
|
查看次数: |
853 次 |
最近记录: |