标签: application-lifecycle

Application_Start ASP.NET

如果从Microsoft官方文档中获取此信息:

Application_Start和Application_End方法是不代表HttpApplication事件的特殊方法.ASP.NET在应用程序域的生命周期内调用它们一次,而不是为每个HttpApplication实例调用它们.

我确信Application_Start与HttpApplication有关,在这里这个人解释了为什么我错了.哪个对象/实体与Application_Start事件有关?

asp.net application-start httpapplication application-lifecycle

7
推荐指数
1
解决办法
6750
查看次数

Android:应用程序onCreate在每次应用程序转到后台时调用

我在Android应用程序上使用android 4.3运行时有一个奇怪的行为:每次应用程序转到后台(按下后退按钮),当它恢复时,它会调用类的onCreate()方法Application.

阅读Android文档,应用程序onCreate()应该在应用程序第一次运行,应用程序被销毁或设备内存不足时调用,但似乎不是我的情况(我在onLowMemory()中添加了一个日志)

所以我的问题是:在哪种条件下Application onCreate()调用方法?它取决于设备和/或Android版本?

android application-lifecycle android-lifecycle

7
推荐指数
1
解决办法
881
查看次数

如何检查应用程序何时从后台返回到前台,而不是来自推送通知?

func application(application: UIApplication, didReceiveRemoteNotification data: [NSObject : AnyObject]) {
        var dat = JSON(data)
        if application.applicationState == UIApplicationState.Active {
            // app was already in the foreground
            println("App is in foreground")
            processNotification(dat)
        }else{
            // app was just brought from background to foreground via PUSH
            println("App brought back via PUSH")
            processNotification(dat)
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我检查推送通知的方式.但是,如果我发送推送通知,用户会错过它,然后通过图标打开应用程序?如何从图标中查看应用程序的打开时间?

lifecycle application-lifecycle ios appdelegate swift

7
推荐指数
1
解决办法
7562
查看次数

为什么applicationDidBecomeActive在通知中心完全打开后立即调用?

我一直在玩iOS应用程序生命周期来学习它.我创建了一个超级简单的应用程序,它只打印调用的应用程序委托方法.但是,我观察到一些奇怪的行为.

[案例1]当我从底部向上滑动到打开控制中心时,我只得到跟随的委托方法(我只是打开它,不要关闭):

  1. applicationWillResignActive

[案例2]当我从上到下滑动到打开通知中心时,我得到以下序列(同样在这里 - 只需打开它,不要关闭):

  1. applicationWillResignActive //在这里我开始拖动
  2. applicationDidBecomeActive //通知中心打开了,我的应用程序不应该在这里完全不活动吗?
  3. applicationWillResignActive

当Notification Center完全打开时,方法2和3几乎立即被调用(看起来在调用之间约为1ms或更短),这令人困惑.

所以,问题是:

  • 这是预期的行为吗?
  • 如果是,那么在didBecomeActive中应该/可能会采取什么行动?
  • 从用户点操作如此相似导致应用程序生命周期的不同行为之间的iOS /编程点有什么区别?

PS在iPhone和模拟器上使用最新的Xcode(9.3)和iOS(11.3)获得了相同的结果.

iphone application-lifecycle ios ios11

7
推荐指数
0
解决办法
284
查看次数

为什么 IsCancellationRequested 在停止 .NET Core 3.1 中的 BackgroundService 时未设置为 true?

我已经阅读了大部分关于.NET Core 3.1 中IHostApplicationLifetime和 CancellationToken 的文章,但我找不到这不起作用的原因。

我有一个简单的BackgroundService,如下所示:

    public class AnotherWorker : BackgroundService
    {
        private readonly IHostApplicationLifetime _hostApplicationLifetime;

        public AnotherWorker(IHostApplicationLifetime hostApplicationLifetime)
        {
            _hostApplicationLifetime = hostApplicationLifetime;
        }

        public override Task StartAsync(CancellationToken cancellationToken)
        {
            Console.WriteLine($"Process id: {Process.GetCurrentProcess().Id}");
            _hostApplicationLifetime.ApplicationStarted.Register(() => Console.WriteLine("Started"));
            _hostApplicationLifetime.ApplicationStopping.Register(() => Console.WriteLine("Stopping"));
            _hostApplicationLifetime.ApplicationStopped.Register(() => Console.WriteLine("Stopped"));

            return Task.CompletedTask;
        }

        protected override Task ExecuteAsync(CancellationToken stoppingToken)
        {
            Console.WriteLine("Executing");
            return Task.CompletedTask;
        }

        public override async Task StopAsync(CancellationToken cancellationToken)
        {
        // This actually prints "Stop. IsCancellationRequested: False". Why?
            Console.WriteLine($"Stop. IsCancellationRequested: {cancellationToken.IsCancellationRequested}");
            await base.StopAsync(cancellationToken); …
Run Code Online (Sandbox Code Playgroud)

c# application-lifecycle cancellation-token .net-core

7
推荐指数
1
解决办法
3751
查看次数

每次启动或恢复时,Android应用程序/活动是否完全启动?

我有一个Android的孩子的应用程序,这个应用程序有一些独特的考虑因素,因为该应用程序基本上没有导航(这是为年幼的孩子).我不想通过添加退出/重启按钮来破坏我的应用程序UI(已在iPhone上成功).

我真正需要的是相当简单 - 我希望我的活动/应用程序每次启动时都要开始干净.无论是初始加载还是其他什么 - 基本上在调用onResume时,我想要一个全新的应用程序实例.

我最初认为我可以在用户离开时退出/退出/完成应用程序.但我没有找到一种方法来做到这一点,不会导致崩溃开始.此外,关于这个想法的每一个线程/堆栈溢出都充满了人们摇着手指,说你永远不应该退出Android上的应用程序.

如果我不能退出应用程序onExit,那么每次调用onResume时我都能做些什么来重启我的活动?(或者那将是一个无限循环?).

非常感谢任何帮助!

java android onresume application-lifecycle

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

Iphone应用的第一种方法

当任何Iphone应用程序执行时,首先调用哪个方法?

application-lifecycle ios

6
推荐指数
1
解决办法
3057
查看次数

Grails Service类检测应用程序关闭的最佳方法?

我有一个Grails服务类,当我的Tomcat应用程序服务器关闭时需要进行一些清理.

我没有在Grails文档中看到有关service.stop()或destroy()方法的任何内容,或者实现任何类型的应用程序生命周期监听器的方法.

最好的方法是什么?

谢谢!

service grails groovy application-lifecycle

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

如何实现play框架的生命周期回调(2.5.x)

我正在努力学习游戏框架.我想在我的应用程序中实现play框架的生命周期回调.现在我看到可以使用下面的GlobalSettings轻松完成:

object Global extends GlobalSettings {

  override def onStart(app: Application) {
    Logger.info("Application has started")
  }  

  override def onStop(app: Application) {
    Logger.info("Application shutdown...")
  }  

}
Run Code Online (Sandbox Code Playgroud)

但它已在play框架(2.5.x)中被弃用.他们正在为onStart回调提供热切的约束,onStop并且onError还有其他机制.我查看了2.5.x版的文档,看到了如下代码:

import com.google.inject.AbstractModule
import com.google.inject.name.Names

class Module extends AbstractModule {
  def configure() = {

    bind(classOf[Hello])
      .annotatedWith(Names.named("en"))
      .to(classOf[EnglishHello]).asEagerSingleton

    bind(classOf[Hello])
      .annotatedWith(Names.named("de"))
      .to(classOf[GermanHello]).asEagerSingleton
  }
}
Run Code Online (Sandbox Code Playgroud)

但不幸的是我无法理解它.使用GlobalSettings时,很容易实现生命周期回调.假设我将在生命周期回调中实现Logger信息.没有复杂的代码.
如何在2.5.x中实现此启动,停止和错误回调?

scala application-lifecycle playframework playframework-2.5

6
推荐指数
1
解决办法
2619
查看次数

创建Application时未调用LifecycleObserver.onCreate

我们有一个在创建应用程序时运行的任务,并且我们尝试将代码从应用程序对象的 onCreate 移动到它们自己的生命周期感知类。我已将ApplicationLifecycleAwareTaskRunner(a ) 添加到inLifecycleObserver的生命周期中,但它从未被调用。和被按预期调用。ProcessLifecycleOwnerApplication.onCreate()onCreate(owner: LifecycleOwner)onStart(..)onStop()

LifecycleObserver这是它无法观察事件的已知限制吗Application.onCreate()?或者我在这里缺少什么?

使用androidx.lifecycle:lifecycle-runtime-ktx:2.4.1

在应用程序对象中添加观察者。

class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        // DI and other init

       ProcessLifecycleOwner.get().lifecycle.addObserver(ApplicationLifecycleAwareTaskRunner(..))
    }
}
Run Code Online (Sandbox Code Playgroud)

任务运行者:

class ApplicationLifecycleAwareTaskRunner(
    private val appCoroutineScope: CoroutineScope,
    private val myTask: MyTask
) : DefaultLifecycleObserver {

    // This is never called :( 
    override fun onCreate(owner: LifecycleOwner) {
        appCoroutineScope.launch {
            myTask.invoke()
        }
    }
...
}
Run Code Online (Sandbox Code Playgroud)

android application-lifecycle android-lifecycle

6
推荐指数
0
解决办法
689
查看次数