【问题标题】:How can I make my app launch faster?如何让我的应用程序启动更快?
【发布时间】:2012-02-02 16:36:16
【问题描述】:

我正在试验我正在开发的应用程序。

当我启动应用程序时,应用程序 UI 可用之前有 3 秒的延迟。在延迟期间,屏幕是黑色的,除了任务栏和下方的应用程序标题栏。

我正在考虑在主 Activity 中将启动画面显示为对话框。但是,它仅在这 3 秒后显示,这使其无用。这意味着几乎所有的 3 秒延迟都发生在启动和调用之间

super.onCreate(savedInstanceState).

谁能告诉我在这个延迟期间发生了什么?有什么办法可以缩短它吗?

【问题讨论】:

  • 你实现了哪些on*函数?你检查过有没有慢的代码?
  • 你是否在 ui/event 线程上做任何冗长的操作(网络连接)?
  • 嗯,我做了一些更准确的计时。从 onCreate 开始运行到 onResume 开始运行需要 1.45 秒(包括解析一个文件需要 1.23 秒)。然后 0.62 秒到第一个 onDraw。解析在 UI 线程中,因为它用于填充 ArrayAdapter。我尝试移至单独的线程但未成功,但它弄乱了我的适配器索引和过滤。我想我得再试一次。

标签: android


【解决方案1】:

尝试定位慢代码并将其放入第二个线程。

new Thread(new Runnable() {
    @Override
    public void run() {
        // slow code goes here.
    }
}).start();

【讨论】:

  • 我虽然除了我的代码之外可能还有其他原因......所以我是罪魁祸首!我认为在启动和调用 onCreate 之间可能会发生很多处理。但是……不是。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-27
  • 1970-01-01
  • 1970-01-01
  • 2010-10-21
  • 1970-01-01
  • 2012-11-10
相关资源
最近更新 更多