【问题标题】:Android APP takes too long to open on device for first timeAndroid APP第一次在设备上打开时间太长
【发布时间】:2016-09-13 02:57:30
【问题描述】:

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

总之:

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

  2. 应用安装没有问题。

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

  4. 应用程序终于可以像在模拟器中一样运行了。

  5. 应用开始运行后不久,设备显示错误,请关闭或等待应用。

  6. 忽略错误后,应用完全没有问题,所有服务都正常工作。

  7. 如果应用程序关闭并再次打开,它可以正常工作。

注意:此应用的 multiDexEnabled 为 true,我知道这可能是原因,但在模拟器中可以正常工作。

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

编辑: 有关该应用程序的更多信息: 它使用地图和 firebae 向用户提供通知。 地图服务和活动仅在用户进入活动时被调用,而firebase 服务则在应用程序运行时被调用。 这是毕业典礼:

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'

如果您需要更多信息,请告诉我。 而且我不认为这是一个重复的问题,如下所示,这个问题是关于模拟器的,正如我之前提到的,就我而言,我的应用程序在模拟器中运行得又快又好,是当我在真实设备中测试它时这个问题发生了,再说一遍,它只是在安装后第一次打开应用程序时发生,后来我可以关闭它,打开它然后再次关闭它,它会正常工作。

【问题讨论】:

  • 你的应用一定是在主线程中做了太多的工作,请多介绍一下你的应用的功能。
  • 你们似乎没有抓住重点。他说它在第二次、第三次、第四次运行时运行良好......如果问题是“主线程上的工作量太大”,那么为什么它只会在第一次运行时运行不佳?但是,是的,伙计……您需要提供更多信息。

标签: android performance installation emulation device


【解决方案1】:

这个错误也发生在我身上,它运行良好,直到我从我的主要活动代码中删除了三个导入代码

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Menu;
import android.widget.TextView;

不幸的是,我不知道代码,现在我遇到了同样的问题,但我记得其中一个有“java”字样 另一个有“保护”字样。

天哪,我为什么要删除它们

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

【讨论】:

  • 也许这可以帮助你做一些事情,如果你解决了问题,我能提供的所有帮助告诉我
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多