当前位置: 首页 > 面试题库 >

应用程序或活动需要一段时间才能加载

阚小云
2023-03-14
问题内容

我从一个调用另一个活动的地方创建了一个启动活动,该活动具有一个视图分页器并显示一些介绍性页面。

这个应用程式需要花费一些时间来载入,因此我想在活动载入之前显示一个进度对话框,但该进度对话框也会在几秒钟后出现。

启动活动:

public class StartUpActivity extends AppCompatActivity {
    boolean isUserFirstTime, login;
    public static String PREF_USER_FIRST_TIME;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        isUserFirstTime = Boolean.valueOf(Utils.readSharedSetting(StartUpActivity.this, PREF_USER_FIRST_TIME, "true"));
        Intent introIntent = new Intent(StartUpActivity.this, SlidingActivity.class);
        introIntent.putExtra(PREF_USER_FIRST_TIME, isUserFirstTime);

        ProgressDialog dialog = new ProgressDialog(StartUpActivity.this);
        dialog.setMessage("Welcome to Mea Vita, please wait till the app loads.");
        dialog.setCancelable(false);
        dialog.setInverseBackgroundForced(false);
        dialog.show();

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                //Here you can send the extras.

                startActivity(new Intent(StartUpActivity.this,SlidingActivity.class));

                // close this activity
                finish();
            }
        }, 4000);
    }
}

这并非每次都发生,只是有时。这可能是什么原因?我该如何阻止呢?有什么办法吗?谢谢..


问题答案:

Android Studio 2.0第一次启动应用程序时,新发布的版本(在2.1中存在同样的问题)存在一个奇怪的问题,该问题比平时更长(例如2、3秒或有时屏幕闪烁或变黑),此问题仅在调试模式下发生,不会影响您发布的APK

解决此问题的临时解决方案是禁用instant run

Settings → Build, Execution, Deployment → Instant Run and uncheck Enable Instant Run


 类似资料:
  • 然而,当我运行该应用程序编译并将其安装到我的手机中时,它比Eclipse需要更多的时间。 我点击run,它开始创建应用程序。这些任务是:。在完成时说。然后它装载它。 问题是,有时它可能只需要20秒,但其他时候2-3分钟。这是烦人的等待时间。是否必须在每次编译之前运行此执行?我可以关闭它或缩短它的时间吗? 如果这个问题不准确,我很抱歉,但我不熟悉grandle在AS中是如何完全工作的。

  • 是上面的代码少了点什么,还是有什么其他的方式可以在所有android版本上工作? 请建议。多谢了。

  • 我花了一小段时间试图研究片段和活动之间的差异,但没有找到任何结论。这条线程似乎建议片段是片段,而片段活动天生比活动快? 它可能是相关的,使平板版本的应用程序在未来,在这种情况下,我认为碎片将是有用的,但B)是一个主要的头痛从活动重新设计到使用碎片代替? C)当使用片段时,你可以让屏幕-a作为你的主要活动,屏幕-B作为你的片段-#1,或者你必须让两个屏幕作为一个片段,主活动作为父。

  • 问题内容: 我正在使用Hibernate 4.2,JPA 2.0和Postgres 9.2 代码卡在 在进一步调查中,我发现Hibernate调用了class 方法。此方法尝试加载有关每个数据库对象的元数据 的代码是Postgers的JDBC驱动程序的一部分,而确实是花费时间来执行该方法的驱动程序(我加载了驱动程序源并尝试了跟踪)。但是由于这个问题在Hibernate 3.3(我之前使用过)中没有

  • 我的的一个有一个奇怪的问题。我有一个,里面有三个。到现在为止一切正常。当应用程序启动时,(带有)附加了三个片段,这样我就可以毫无问题地从一个浏览到另一个。当我尝试像这样手动(注销后)重新启动应用程序时,问题就来了: 现在,当我注销和应用程序重新启动时,应用程序崩溃,并通过一个试图从片段上访问资源。 下面是我附加的代码,即: 然后,设置:

  • 我有一个带有导航抽屉的Android应用程序。我的问题是,加载某些片段需要几秒钟(解析器、映射API)。我想在应用程序启动时加载我的所有片段。 我不确定这是否可能或是一个好方法,但我正在考虑在主活动的onCreate方法中创建我的每个片段的实例。然后,当用户在导航抽屉中选择一个片段时,我使用现有实例,而不是创建一个新实例。 问题是,当我第一次展示一个特定片段时,它并不能阻止延迟。在我看来,原因是片