Android创建选择器在长时间延迟后显示

时间:2018-07-28 20:07:08

标签: android android-intent

当我按下下面执行的按钮时,在经过很长的延迟(如4s)后,代码选择器弹出。我该怎么办才是即时的,因为我看到有即时选择器的应用程序。

val share = ShareCompat.IntentBuilder.from(this)
            .setType("text/plain")
            .setSubject(resources.getString(R.string.share_content_title))
            .setText(resources.getString(R.string.share_content))
            .intent
    startActivity(Intent.createChooser(share, "Share via"))

1 个答案:

答案 0 :(得分:1)

好吧,您的代码应该快速运行。没有任何理由会在用户看到结果之前触发四秒钟的延迟。

我可以看到两种可能的延迟来源:

  • Intent.createChooser()很慢。这将是令人惊讶的,因为它没有做任何实际的工作。例如,here is the createChooser() implementation for Android 8.1。那里什么都不会慢。

  • 系统显示选择器活动很慢。换句话说,您的startActivity()呼叫很快发生,但是系统需要四秒钟来显示结果。除了可能尝试采取措施清理测试设备(重新启动?恢复出厂设置?)以外,您无能为力。