使用AS 2.0和gradle 2.0

时间:2016-04-21 04:38:01

标签: android android-studio-2.0 android-gradle-2.0

最近,我已将Android Studio1.5升级为2.0

我正在使用gradle 2.0.0

classpath 'com.android.tools.build:gradle:2.0.0'

但似乎有一些问题,每当我第一次运行我的应用程序时,它会显示/黑屏10-15秒。

我在applicationClass或启动器活动中没有做任何事情,但是它也花了这么多时间。

我不知道AS 2.0Gradle 2.0.0是否存在问题。奇怪的是它在模拟器上正常工作,它只是花时间在设备上。因此可能存在设备RAM或处理问题,但我已经在10-12个设备中检查了它,并且所有设备都有相同的问题。

当我第一次运行我的应用程序,然后像往常一样工作并在几分之一秒内加载启动器活动时出现问题。

有人可以帮助我吗?

4 个答案:

答案 0 :(得分:1)

  

每当我首先运行我的应用程序时,似乎存在一些问题   时间,它显示/黑屏10-15秒。

我猜您的应用程序中存在冷启动问题。

  

冷启动:

     

当用户启动应用程序时,Android会创建一个新进程   在充电过程中,它会显示一个黑色/白色的屏幕   应用程序主题,或作为条目的活动的主题   点。

     

如果我们的应用程序很复杂,可以增加此负载   覆盖通常用于的应用程序对象   初始化分析,错误记者等。

解决方案:

  1. 在应用主题中指定android:windowBackground
  2. 将启动画面添加到您的应用中。
  3. 有关详细信息,请查看http://saulmm.github.io/avoding-android-cold-starts

    感谢。

答案 1 :(得分:0)

正如documentation所述:

  

Instant Run将更新的代码和资源推送到您连接的设备   或通过执行热插拔,热交换或冷交换来模拟器。它   根据类型自动确定要执行的交换类型   你所做的改变。

此外,文件中提到即时运行

并非Bug
  

部署完整版本后,Android Studio会将您的应用程序设置为   允许Instant Run推送代码和资源更新。虽然更新   正在运行的应用程序发生得更快,第一次构建可能需要   更长时间完成

您可以通过配置几个DexOptions设置来改进构建过程:

android {
  ...
  dexOptions {
    maxProcessCount 4 // this is the default value
    javaMaxHeapSize "2g"
  }
}

答案 2 :(得分:0)

在android studio中,打开首选项。在搜索栏(首选项对话框)中键入即时运行或导航到构建,执行,部署>即时运行并取消选中所有选项。但是,当然,你将失去即时运行的力量。

答案 3 :(得分:0)

更改课程路径

classpath 'com.android.tools.build:gradle:2.0.0'

到您之前的构建版本(例如)

classpath 'com.android.tools.build:gradle:1.5.0'