我必须避免使用multidex并保持自己低于65k方法的限制吗?

时间:2016-05-16 09:21:05

标签: android android-studio

在使用multi-dex扩展方法限制时,我可以面对哪些问题?可以使用吗?

2 个答案:

答案 0 :(得分:2)

  

我必须避免使用multidex并将自己置于65k方法限制之下吗?

答案对此无任何限制,无论您是否使用multidex。但是,如果您的应用程序超过65k限制,那么您需要添加multidex支持。是的,可以使用它。

答案 1 :(得分:1)

我建议避免使用multidex,因为:

  • 即时运行不起作用。
  • 建筑需要更多时间。
  • 在非ART设备上,应用变慢。

proguard有很好的功能,可以用来修复它,因为它删除了未使用的代码。

Proguard配置:

struct Home {
   int num;
   int city_ID;
   int area_ID;
};

使用步骤:

  • 使用https://github.com/google/android-classyshark
  • 分析您的dex
  • 找到包含很多方法的包
  • 将其包含在proguard config
  • 中的-ignorewarnings -keep class !com.google.android.gms.**, !com.google.protobuf.**, !com.firebase.**, !com.urbanairship.** { *; } -dontobfuscate -dontwarn

我用67K到45K的方法减少了方法计数。

不要忘记为调试和发布配置添加此配置。