gpt4 book ai didi

Android 应用需要很长时间才能启动

转载 作者:行者123 更新时间:2023-11-29 19:35:37 25 4
gpt4 key购买 nike

我有一个 Android 应用程序。在启动画面的 onCreate() 方法中,我添加了

    final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Log.i(SplashActivity.APP_NAME, "Executing post-delayed code");
}
, 100);

因此,我期望这段代码将在 onCreate 退出后 100 毫秒后执行。

但我可以看到我的应用程序在 onCreate() 之后需要 3 秒才能执行延迟后的代码(3 秒后还会出现 UI):

08-30 19:00:45.614 4559-4559/com.example.my I/My Example: OnCreate is exited
08-30 19:00:45.621 4559-4683/com.example.my D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
08-30 19:00:45.654 4559-4683/com.example.my I/Adreno: QUALCOMM build : 166ada0, Ifd751822f5
Build Date : 01/26/16
OpenGL ES Shader Compiler Version: XE031.06.00.05
Local Branch : AU12_SBA
Remote Branch :
Remote Branch :
Reconstruct Branch :

**08-30 19:00:45.662** 4559-4683/com.example.my I/OpenGLRenderer: Initialized EGL, version 1.4

**08-30 19:00:48.646** 4559-4559/com.example.my I/My Example: Executing post-delayed code

谁能告诉我为什么应用在 onCreate() 之后需要 3 秒才能执行延迟后的代码和 UI 才能开始出现?

请建议我如何优化这次时间?

还有一个问题,handler.postDelayed() 是否在 onStart()/UI 显示后执行?

最佳答案

考虑添加稍大的超时,因为即使是默认的 android studio 模板也将超时时间设置为 300 毫秒。您可以在android全屏应用程序模板中看到注释

/**
* Some older devices needs a small delay between UI widget updates
* and a change of the status and navigation bar.
*/
private static final int UI_ANIMATION_DELAY = 300;

这在很大程度上也取决于您的布局,因为 Android 在主线程中绘制它,如果您的 UI 有很多嵌套级别或硬绘图代码,它也会降低性能。

关于Android 应用需要很长时间才能启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39229264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com