标签: lifecycle

在 React Native 中从另一个页面返回时会调用哪个生命周期方法?

我有一个页面 A,然后导航到页面 B,然后返回。我想知道在 A 上会调用哪个生命周期方法,或者会发出事件?

lifecycle react-native react-navigation

3
推荐指数
1
解决办法
1487
查看次数

this.$refs 或文档在 Mounted() 中不可见,除非我使用 setTimeout

我有一个奇怪的问题。我认为$refs可以从mounted()生命周期中获得

但如果我尝试log直接它是我得到未定义的对象:

mounted() {
    // logs undefined
    console.log(
      this.$refs.tabsMenu
    ) 
}
Run Code Online (Sandbox Code Playgroud)

等待 1ms 后它就被定义了,我可以得到对象

mounted() {
    setTimeout(() => {
      // logs the object
      console.log(
          this.$refs.tabsMenu
      )
    }, 1) // <-- just 1ms!
}
Run Code Online (Sandbox Code Playgroud)

对此有什么想法吗?

我的(简化的)模板如下所示

<template>
  <div>
    <baseContainer>
      <ul ref="tabsMenu" id="tabs-menu" class="flex-inline flex w-full">
        <li>Home</li>
        <!-- many more items -->
        <li>Contact</li>
      </ul>
     </baseContainer>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript lifecycle settimeout vue.js

3
推荐指数
1
解决办法
3940
查看次数

Kotlin 中构造函数参数的生命周期

我试图了解 Kotlin 中构造函数参数的生命周期。给定以下代码,FooFactory垃圾收集器何时可以收集类实例?

既然FooFactory延迟了使用,运行时会知道什么时候释放它吗?

或者如果编译器不知道何时发布FooFactory并且它将永远存在,这会造成泄漏吗?


class Foo {
    fun doStuff() {}
}

class FooFactory {
    fun getFoo() : Foo {
        return Foo()
    }
}

class User(factory: FooFactory) {
    val x: Foo by lazy {
        factory.getFoo()
    }
}

val user = User(FooFactory())

Thread.sleep(100)

user.x.doStuff()

Thread.sleep(100)
Run Code Online (Sandbox Code Playgroud)

lifecycle constructor garbage-collection kotlin

3
推荐指数
1
解决办法
33
查看次数

Java应用程序生命周期

典型的Java应用程序什么时候完成?

如果我在main方法中启动一个新线程,然后main方法结束,但另一个线程继续工作,应用程序仍然会打开,直到它的所有线程都已经死了,不是吗?

谢谢,圣诞快乐!

java lifecycle multithreading main-method

2
推荐指数
1
解决办法
351
查看次数

2
推荐指数
1
解决办法
82
查看次数

Java应用程序的生命周期

其最着名的问题Applet vs Application和常见答案是applet从init()应用程序开始而来main().

Applet的生命周期:init() - > start() - > paint() - > stop() - > destroy()

但是,申请怎么样?它从main()然后destroy()开始?或者它取决于编码部分?? 如果我在任何时候都错了,请纠正我.

让我们说这是简单的java代码

public class MyClass {

    public static void main(String  args[])
    {
        System.out.println("Hello World !!");
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现了这一点,但我认为,这是所有人(applet,servlet,应用程序)的共同生命周期.

java lifecycle

2
推荐指数
1
解决办法
3373
查看次数

什么是Android应用程序的main()函数的最佳等价物?

我在各地搜索了一个方法,在Android应用程序中具有相当于main()函数(yes函数而不是方法)但是失败了......

通常我想做的是:

void main()
{
    // do some really nice initialisations stuff here

    // ... let the app does his life, I really don't care

    // do some final stuff here before leaving
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我看到的最接近的方法是使用SplashScreen并覆盖OnCreate()方法.从我的角度来看,问题是不可接受的.为什么?因为SplashScreen不是标记为启动器的活动.

这使它出现在应用程序列表中,这是我开发应用程序小部件时不想要的东西.此外,在应用程序销毁之前将代码放在何处?在onDestroy()方法中?不,再一次,这不可靠.Android可以决定删除我的实例,而应用程序仍在运行.

好吧,事实上,我认为我的应用程序的每个组件都在同一个进程中运行,因为我没有在Manifest中明确提到我不是在自己的进程中运行的组件.

在app小部件的情况下,我在第一次调用onUpdate()方法时放置了我的初始化代码.我认为这是一个不错的选择.然后这个应用程序小部件(更准确地说是AppWidgetProvider)负责按照意愿启动任何活动.

所有应用程序的"DataBase"都在单独的Singleton中定义,如下所示:

public class MyDataBase {

    public static MyDataBase getInstance() {
        if (instance_ == null)
            instance_ = new DataBase();
        return instance_;
    }

    public void load();
    public void save();

    static MyDataBase instance_ = null;

    public int myInt;
    public String myString;
    public Object myObject;
    etc.. …
Run Code Online (Sandbox Code Playgroud)

java lifecycle android program-entry-point process

2
推荐指数
1
解决办法
1390
查看次数

在Java中早期初始化Singleton类是什么意思

我不太清楚Singleton类的早期初始化这个术语是什么意思.理解Singleton类的生命周期也很有帮助.

java lifecycle singleton

2
推荐指数
2
解决办法
3995
查看次数

生命周期:何时在UIViewController中隐藏和显示选项卡栏

隐藏我的标签栏

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.tabBarController.tabBar.hidden=YES;
}
Run Code Online (Sandbox Code Playgroud)

很清楚地再次显示它,我要做的就是打电话

self.tabBarController.tabBar.hidden=NO;
Run Code Online (Sandbox Code Playgroud)

但是我应该在哪个生命周期方法中进行调用?对于最新的iOS / Xcode中哪些生命周期方法仍然有效,似乎存在分歧。另外,关于声音工程,我想知道一个非常正确的答案:viewDidDisappearViewDidUnloadViewDidDispose

lifecycle objective-c uiviewcontroller ios

2
推荐指数
1
解决办法
3988
查看次数

为什么片段的上下文在lifecycleScope中为空

我在片段中使用lifecycleScope时遇到麻烦,我认为如果该片段脱离活动,则lifecycleScope将取消协程作业。

我已经阅读了lifecycleScope的代码,但我认为这不可能发生。我唯一能做的就是为此添加一个先决条件“ iFyre”。

private fun updateUserInfo(user: User) = lifecycleScope.launch {
   textView.text = getString(R.string.foo)
}
Run Code Online (Sandbox Code Playgroud)

此代码抛出

java.lang.IllegalStateException androidx.fragment.app.Fragment.requireContext(Fragment.java:696)

我希望有人可以帮助我解释lifecycleScope的机制。

lifecycle android coroutine kotlin

2
推荐指数
1
解决办法
170
查看次数