当我按下下面执行的按钮时,在经过很长的延迟(如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"))
答案 0 :(得分:1)
好吧,您的代码应该快速运行。没有任何理由会在用户看到结果之前触发四秒钟的延迟。
我可以看到两种可能的延迟来源:
Intent.createChooser()
很慢。这将是令人惊讶的,因为它没有做任何实际的工作。例如,here is the createChooser()
implementation for Android 8.1。那里什么都不会慢。
系统显示选择器活动很慢。换句话说,您的startActivity()
呼叫很快发生,但是系统需要四秒钟来显示结果。除了可能尝试采取措施清理测试设备(重新启动?恢复出厂设置?)以外,您无能为力。