1.今天开始重构的第一步,就发现程序有问题了,原来,android 在5.0以下整个应用的方法数不可以超过65535,解决的方法有两个,一个是动态加载apk,还有一个是分包。
(1)首先解决白屏问题,当在android studio设置分包,如下配置
在build gradle中:
defaultConfig { multiDexEnabled = true } dexOptions { incremental true javaMaxHeapSize "2g" preDexLibraries = false }在 application中
@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }
这就是分包的部分设置
如果白屏,就把launchactivity的style设置成
<style name="Theme.Start" parent="AppTheme.NoActionBar"> <item name="android:windowBackground">@drawable/app_first</item> </style>这样,虽然application中MultiDex.install是一个耗时的工作,但是在界面上显示的时候,是没有白屏的现象产生的。
2.其实这样还会出现anr的情况,找了些资料,发现 http://blog.zongwu233.com/the-touble-of-multidex已经解决了问题,但是还是有个小小的问题没有解决,所以暂时没有文中的方法,就是当mini进程结束,launchactivity开始的中间会有黑屏的情况,博主也没有给与明确的解答,所以暂时弃用了上述的方法。