Android APP第一次在设备上打开的时间太长

时间:2016-09-13 02:57:31

标签: android performance install emulation device

我正在开发的应用程序在模拟器上没有问题,但是当我在设备上安装调试apk时,第一次打开需要30秒或者一分钟(整个时间都是白屏) ),当它最终显示某些内容并且应用程序运行时,它首先向我显示应用程序耗时太长的错误,我选择忽略它,因为应用程序最终显示了一些内容。当它最终第一次运行时,它运行完全没有问题。这只发生在安装后第一次打开应用程序。

总结如下:

  1. 该应用在模拟器上运行良好。

  2. 安装该应用没有任何问题。

  3. 第一次打开应用程序时,它只显示全白屏幕。

  4. 该应用程序最终就像在模拟器中一样。

  5. 应用程序开始工作后不久,设备显示错误,关闭或等待应用程序。

  6. 忽略错误后,应用程序完全没有问题,所有服务都在运行。

  7. 如果该应用已关闭并再次打开,则效果非常好。

  8. 注意:这个应用程序有multiDexEnabled为true,我知道这可能是原因,但在模拟器中工作正常。

    感谢您在这里给我的所有帮助。

    编辑: 关于该应用程序的更多信息: 它使用maps和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问题,这个问题是关于模拟器的,正如我之前提到的,在我的情况下,我的应用程序在模拟器中运行得很快,当我在真实设备中测试时这个问题发生了,再次提到它,它只发生在安装后第一次打开应用程序,之后,我可以关闭它,打开它并再次关闭它,它将正常工作。

2 个答案:

答案 0 :(得分:0)

这个错误也发生在我身上,直到我从我的主要活动代码中删除了三个导入代码才能正常工作

<table class="table table-bordered" id="table">
  <thead>
    <tr>
      <th>Time</th>
      <th>Header</th>
      <th>Header</th>
      <th>Header</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td id="time" data-default="00:00">48:25</td>
      <td>Data</td>
      <td>Data</td>
      <td>Data</td>
    </tr>
  </tbody>
</table>

<button type="button" class="btn btn-block btn-danger" id="reset">Reset</button>

不幸的是我不知道代码,现在我有同样的问题,但我记得其中一个有&#34; java&#34;在它的词 另一个人有#34;受保护&#34;其中的一句话。

上帝为什么我删除了它们

我通过从头开始重新创建所有代码来修复此问题我认为我们不应删除导入代码,因为合并应用程序不会删除它们,因此手机需要更多时间来删除无用的文档并启动应用程序。

答案 1 :(得分:0)

无需替换或编辑任何gradle构建链接,在安装用户首次应用时会加载。这种情况发生在所有类型的应用程序中,如Whatsapp,Linkedin等。所以不要担心。