gpt4 book ai didi

android - 是否有与 UIKit 的 -viewDidAppear :animated:? 等效的 Android

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

我正在尝试将功能从 iOS 应用程序移植到 Android 应用程序。 iOS View 编程框架 UIKit 提供生命周期方法 -viewDidAppear:animated:,在 View Controller 呈现后调用。

Android documentation for activity lifecycle management读取“Activity 的前台生命周期发生在对 onResume() 的调用和对 onPause() 的调用之间”,但是当我将异步调度代码添加到 Activity 的onResume(),它会增加该 Activity 的开始时间。

如何启动一个 Activity ,然后在该 Activity 在前台运行后执行任意工作?

编辑:我正在使用改编自 Android "Controlling the Camera" training 的代码和 camera API guide ;前者写道,“正如 Android 自己的相机应用程序所做的那样,访问相机的推荐方法是在从 onCreate() 启动的单独线程上打开相机。”

我在 onCreate() 的末尾得到了这个:

new Thread(new Runnable() {
@Override
public void run() {
mCamera.setPreviewCallback(previewCb);
mCamera.startPreview();
previewing = true;
mCamera.autoFocus(autoFocusCB);
}
}).start();

最佳答案

一般来说,Android模式就是使用AsyncTask或您自己的后台线程从 Activity onCreateonResume 开始您的异步工作(取决于您需要完成的工作类型)。

但是,如果你真的需要让 View 处于可以渲染和测量的状态,你可以随时收听 Activity onAttachedToWindow ,当 Activity 的窗口已经创建并且 Root View 已附加到它时调用。请注意,这并不能保证它也已被绘制,因此如果您在该方法中运行大量工作,您仍然可以阻塞 UI 线程并使用户体验变差。因此,您仍然需要考虑在后台线程上开始您的工作。

关于android - 是否有与 UIKit 的 -viewDidAppear :animated:? 等效的 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17930685/

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