我正在开发的应用程序在模拟器上没有问题,但是当我在设备上安装debug apk时,需要30秒或者一分钟时间才能打开第一次(整个时间都是白屏),最后它显示了一些东西,应用程序运行时,它首先向我显示应用程序需要很长时间的错误,我选择忽略它,因为应用程序终于显示了一些东西。当它第一次工作时,它运行完全没有问题。这只发生在安装后第一次打开应用程序。Android应用程序需要太长的时间才能在设备上第一次打开
因此,在总结:
该应用程序在模拟器的伟大工程。
该应用程序安装时没有问题。
第一次打开应用程序时,它只显示一个完整的白色屏幕。
该应用程序终于像在模拟器中一样工作。
应用程序开始工作后不久,设备显示错误,关闭或等待应用程序。
忽略错误后,该应用程序可以正常工作,所有服务都可以正常工作。
如果应用程序已关闭并再次打开,它可以很好地工作。
注意:这个程序有multiDexEnabled true,我知道这可能是原因,但在模拟器工作正常。
感谢您给我提供的所有帮助。
编辑: 一些关于应用程序的更多信息: 它使用地图和firebae给用户通知。 仅当用户输入活动时才会调用地图服务和活动,另一方面,在应用程序运行时调用Firebase服务。 这是gradle这个:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.example.andres.redfutbol"
multiDexEnabled true
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.1.0'
compile 'com.android.volley:volley:1.0.0'
compile 'com.google.firebase:firebase-messaging:9.0.2'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.android.support:design:24.1.0'
//compile 'com.google.android.gms:play-services:9.2.1'
compile 'com.google.android.gms:play-services:9.0.2'
}
apply plugin: 'com.google.gms.google-services'
请,如果你需要更多的信息,让我知道。 我不认为这是一个dublicate问题,如下所示,这个问题是关于模拟器,正如我之前提到的,在我的情况下,我的应用程序运行速度快,在模拟器中运行良好,是当我在真实设备中测试它时当这个问题发生时,再次提及它,它只发生在安装后的第一次应用程序打开后,我可以关闭它,打开它并再次关闭它,它会正常工作。
您的应用程序必须在主线程中做了太多工作,请详细说明应用程序中的功能。 – RamithDR
[该应用程序可能在其主线程上做了太多工作]的可能重复(http://stackoverflow.com/questions/14678593/the-application-may-be-doing-too-much-work-on-its -main-thread) – RamithDR
你们似乎错过了这一点。他说在第二次,第三次,第四次运行时它的效果很好......如果问题是“主线程上的工作太多”,那么为什么它只会在第一次运行时运行不佳?但是,伙计......你需要提供更多信息。 –